Merge "Upgrade to libphonenumber-7.7.0 which is nano proto free" am: 78b57ad809 am: c34dc740c4
am: f559f55b5f

Change-Id: I22955d77fce75f3dbeb324ea4f289c4c4266ed14
diff --git a/Android.mk b/Android.mk
index bbcacb6..5b8c2ca 100644
--- a/Android.mk
+++ b/Android.mk
@@ -57,7 +57,6 @@
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
 LOCAL_NO_STANDARD_LIBRARIES := true
 LOCAL_JAVA_LIBRARIES := core-oj core-libart
-LOCAL_STATIC_JAVA_LIBRARIES := libprotobuf-java-nano
 LOCAL_JAVA_LANGUAGE_VERSION := 1.7
 include $(BUILD_STATIC_JAVA_LIBRARY)
 
@@ -69,7 +68,6 @@
 LOCAL_JAVA_RESOURCE_DIRS := $(libphonenumber_resource_dirs)
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
 LOCAL_SDK_VERSION := 9
-LOCAL_STATIC_JAVA_LIBRARIES := libprotobuf-java-nano
 LOCAL_JAVA_LANGUAGE_VERSION := 1.7
 include $(BUILD_STATIC_JAVA_LIBRARY)
 
@@ -84,6 +82,6 @@
 LOCAL_JAVA_RESOURCE_DIRS := $(libphonenumber_test_resource_dirs)
 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
 LOCAL_SDK_VERSION := current
-LOCAL_STATIC_JAVA_LIBRARIES := libphonenumber libprotobuf-java-nano
+LOCAL_STATIC_JAVA_LIBRARIES := libphonenumber
 LOCAL_JAVA_LANGUAGE_VERSION := 1.7
 include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/README.version b/README.version
index 1cd4978..9eb1b43 100644
--- a/README.version
+++ b/README.version
@@ -1,3 +1,3 @@
-URL: https://github.com/googlei18n/libphonenumber/archive/libphonenumber-7.0.2.tar.gz
-Version: 7.0.2
+URL: https://github.com/googlei18n/libphonenumber/archive/libphonenumber-7.7.0.tar.gz
+Version: 7.7.0
 BugComponent: 24949
diff --git a/build.xml b/build.xml
index 45b6abb..8adde3b 100644
--- a/build.xml
+++ b/build.xml
@@ -45,21 +45,6 @@
     </exec>
   </target>
 
-  <target name="build-single-file-phone-metadata">
-    <exec executable="java">
-      <arg value="-jar" />
-      <arg value="${build.tools.jar}"/>
-      <arg value="BuildMetadataProtoFromXml"/>
-      <arg value="--input-file=${resources.dir}/PhoneNumberMetadata.xml"/>
-      <arg value="--output-dir=${libphonenumber.src.dir}/com/google/i18n/phonenumbers"/>
-      <arg value="--data-prefix=data/SingleFilePhoneNumberMetadataProto"/>
-      <arg value="--single-file=true"/>
-      <arg value="--mapping-class=CountryCodeToRegionCodeMap"/>
-      <arg value="--copyright=2010"/>
-      <arg value="--lite-build=false"/>
-    </exec>
-  </target>
-
   <target name="build-short-metadata">
     <exec executable="java">
       <arg value="-jar" />
@@ -88,21 +73,6 @@
     </exec>
   </target>
 
-  <target name="build-single-file-test-metadata">
-    <exec executable="java">
-      <arg value="-jar" />
-      <arg value="${build.tools.jar}"/>
-      <arg value="BuildMetadataProtoFromXml"/>
-      <arg value="--input-file=${resources.dir}/PhoneNumberMetadataForTesting.xml"/>
-      <arg value="--output-dir=${libphonenumber.test.dir}/com/google/i18n/phonenumbers"/>
-      <arg value="--data-prefix=data/SingleFilePhoneNumberMetadataProtoForTesting"/>
-      <arg value="--single-file=true"/>
-      <arg value="--mapping-class=CountryCodeToRegionCodeMapForTesting"/>
-      <arg value="--copyright=2010"/>
-      <arg value="--lite-build=false"/>
-    </exec>
-  </target>
-
   <target name="build-alternate-metadata">
     <exec executable="java">
       <arg value="-jar" />
diff --git a/carrier/pom.xml b/carrier/pom.xml
index 7fd8faa..cc18d94 100644
--- a/carrier/pom.xml
+++ b/carrier/pom.xml
@@ -3,14 +3,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>carrier</artifactId>
-  <version>1.26</version>
+  <version>1.43</version>
   <packaging>jar</packaging>
   <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.2.6</version>
+    <version>7.7.0</version>
   </parent>
 
   <build>
@@ -28,18 +28,40 @@
         <targetPath>com/google/i18n/phonenumbers/carrier/testing_data</targetPath>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>animal-sniffer-maven-plugin</artifactId>
+        <version>1.15</version>
+        <executions>
+          <execution>
+            <phase>test</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <signature>
+            <groupId>org.codehaus.mojo.signature</groupId>
+            <artifactId>java15</artifactId>
+            <version>1.0</version>
+          </signature>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.2.6</version>
+      <version>7.7.0</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>prefixmapper</artifactId>
-      <version>2.36</version>
+      <version>2.53</version>
     </dependency>
   </dependencies>
 
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/1671_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/1671_en
index abc75c6..4151489 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/1671_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/1671_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/212_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/212_en
index 04ebce5..5ed3160 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/212_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/212_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/223_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/223_en
index 1845987..63e5fa0 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/223_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/223_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/225_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/225_en
index ac0d4ac..ffd1089 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/225_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/225_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/229_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/229_en
index 2a208a9..a2a1039 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/229_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/229_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/243_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/243_en
index 34bdc17..0ff477d 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/243_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/243_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/251_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/251_en
index 397b884..0f5394a 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/251_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/251_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/252_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/252_en
index ba7b00d..432ae99 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/252_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/252_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/254_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/254_en
index 9a600ed..fea08ad 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/254_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/254_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/255_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/255_en
index ea1a183..51be629 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/255_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/255_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/27_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/27_en
index d8ee91b..18b085f 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/27_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/27_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_en
index 5a9033f..60a12aa 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_ru b/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_ru
new file mode 100644
index 0000000..7142799
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_ru
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/382_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/382_en
new file mode 100644
index 0000000..0bcfed3
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/382_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/421_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/421_en
index 75f4d40..1a1cae9 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/421_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/421_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/61_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/61_en
index c025528..6ff2209 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/61_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/61_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/66_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/66_en
index 2985cc0..21017a6 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/66_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/66_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/677_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/677_en
index 51bed88..c085964 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/677_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/677_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/84_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/84_en
index 5296d9d..af53f1b 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/84_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/84_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/852_zh b/carrier/src/com/google/i18n/phonenumbers/carrier/data/852_zh
new file mode 100644
index 0000000..ac7be2b
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/852_zh
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/852_zh_Hant b/carrier/src/com/google/i18n/phonenumbers/carrier/data/852_zh_Hant
new file mode 100644
index 0000000..a07076a
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/852_zh_Hant
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/853_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/853_en
index 1e5acc8..5953b11 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/853_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/853_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/855_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/855_en
index 9acebb8..85e5133 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/855_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/855_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_en
index 574cd57..15379c3 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_zh b/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_zh
new file mode 100644
index 0000000..92132e6
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_zh
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_zh_Hant b/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_zh_Hant
new file mode 100644
index 0000000..64702af
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/86_zh_Hant
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en
index 3250d04..5891a0f 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/93_fa b/carrier/src/com/google/i18n/phonenumbers/carrier/data/93_fa
new file mode 100644
index 0000000..5bc8e68
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/93_fa
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/963_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/963_en
new file mode 100644
index 0000000..0426ab4
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/963_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/968_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/968_en
index d573607..c635477 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/968_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/968_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/971_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/971_en
index bc897ca..80751d0 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/971_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/971_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/972_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/972_en
index 62d54b5..49fe22d 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/972_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/972_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en
index 0a4e1d0..4c8551d 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/98_fa b/carrier/src/com/google/i18n/phonenumbers/carrier/data/98_fa
new file mode 100644
index 0000000..fba7aca
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/98_fa
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/992_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/992_en
index d1307eb..f9568f8 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/992_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/992_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/994_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/994_en
index 6d3de75..2594797 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/994_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/994_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/config b/carrier/src/com/google/i18n/phonenumbers/carrier/data/config
index b7f95b5..4a4e6e4 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/config
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/config
Binary files differ
diff --git a/demo/pom.xml b/demo/pom.xml
index 07eeba4..90072bf 100644
--- a/demo/pom.xml
+++ b/demo/pom.xml
@@ -4,11 +4,11 @@
   <parent>
     <artifactId>libphonenumber-parent</artifactId>
     <groupId>com.googlecode.libphonenumber</groupId>
-    <version>7.2.6</version>
+    <version>7.7.0</version>
   </parent>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>demo</artifactId>
-  <version>7.2.6</version>
+  <version>7.7.0</version>
 
   <properties>
     <gae.version>1.9.32</gae.version>
@@ -31,7 +31,7 @@
       <version>2.5</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.commons</groupId>
+      <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
       <version>1.3.2</version>
     </dependency>
@@ -48,17 +48,17 @@
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.2.6</version>
+      <version>7.7.0</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>geocoder</artifactId>
-      <version>2.36</version>
+      <version>2.53</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>carrier</artifactId>
-      <version>1.26</version>
+      <version>1.43</version>
     </dependency>
   </dependencies>
 
diff --git a/geocoder/pom.xml b/geocoder/pom.xml
index a345582..99030c1 100644
--- a/geocoder/pom.xml
+++ b/geocoder/pom.xml
@@ -3,14 +3,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>geocoder</artifactId>
-  <version>2.36</version>
+  <version>2.53</version>
   <packaging>jar</packaging>
   <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.2.6</version>
+    <version>7.7.0</version>
   </parent>
 
   <build>
@@ -36,18 +36,40 @@
         <targetPath>com/google/i18n/phonenumbers/timezones/testing_data</targetPath>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>animal-sniffer-maven-plugin</artifactId>
+        <version>1.15</version>
+        <executions>
+          <execution>
+            <phase>test</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <signature>
+            <groupId>org.codehaus.mojo.signature</groupId>
+            <artifactId>java15</artifactId>
+            <version>1.0</version>
+          </signature>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.2.6</version>
+      <version>7.7.0</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>prefixmapper</artifactId>
-      <version>2.36</version>
+      <version>2.53</version>
     </dependency>
   </dependencies>
 
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java b/geocoder/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java
index 5642a11..f4dc6aa 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java
@@ -186,7 +186,7 @@
     PhoneNumberType numberType = phoneUtil.getNumberType(number);
     if (numberType == PhoneNumberType.UNKNOWN) {
       return "";
-    } else if (!canBeGeocoded(numberType)) {
+    } else if (!phoneUtil.isNumberGeographical(numberType, number.getCountryCode())) {
       return getCountryNameForNumber(number, languageCode);
     }
     return getDescriptionForValidNumber(number, languageCode);
@@ -209,20 +209,9 @@
     PhoneNumberType numberType = phoneUtil.getNumberType(number);
     if (numberType == PhoneNumberType.UNKNOWN) {
       return "";
-    } else if (!canBeGeocoded(numberType)) {
+    } else if (!phoneUtil.isNumberGeographical(numberType, number.getCountryCode())) {
       return getCountryNameForNumber(number, languageCode);
     }
     return getDescriptionForValidNumber(number, languageCode, userRegion);
   }
-
-  /**
-   * A similar method is implemented as PhoneNumberUtil.isNumberGeographical, which performs a
-   * stricter check, as it determines if a number has a geographical association. Also, if new
-   * phone number types were added, we should check if this other method should be updated too.
-   */
-  private boolean canBeGeocoded(PhoneNumberType numberType) {
-    return (numberType == PhoneNumberType.FIXED_LINE ||
-            numberType == PhoneNumberType.MOBILE ||
-            numberType == PhoneNumberType.FIXED_LINE_OR_MOBILE);
-  }
 }
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1548_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1548_en
new file mode 100644
index 0000000..cf1636a
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1548_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1743_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1743_en
new file mode 100644
index 0000000..29a919a
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1743_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1747_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1747_en
new file mode 100644
index 0000000..24bb011
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1747_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1934_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1934_en
new file mode 100644
index 0000000..0856e34
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1934_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/212_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/212_en
index fa71451..2ae8176 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/212_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/212_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/223_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/223_en
new file mode 100644
index 0000000..06efda8
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/223_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/251_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/251_en
index e389d1c..6da6432 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/251_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/251_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/254_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/254_en
index 3b413f6..1b18760 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/254_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/254_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/27_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/27_en
index 39d41a0..b99be33 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/27_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/27_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/371_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/371_en
index 5273f0e..5ad7e32 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/371_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/371_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/44_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/44_en
index 3a2d306..2dd3e79 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/44_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/44_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/501_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/501_en
new file mode 100644
index 0000000..dbf547d
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/501_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/504_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/504_en
new file mode 100644
index 0000000..24aedf8
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/504_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/55_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/55_en
index 61697eb..054d213 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/55_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/55_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/55_pt b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/55_pt
new file mode 100644
index 0000000..6e927cc
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/55_pt
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_bg b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_bg
new file mode 100644
index 0000000..0f3c055
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_bg
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ca b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ca
new file mode 100644
index 0000000..243c0a2
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ca
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_el b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_el
new file mode 100644
index 0000000..48d7608
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_el
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_es b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_es
new file mode 100644
index 0000000..3d8653a
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_es
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_fi b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_fi
new file mode 100644
index 0000000..b7348e9
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_fi
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hi b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hi
new file mode 100644
index 0000000..1fbe406
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hi
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hu b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hu
new file mode 100644
index 0000000..96ca994
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hu
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_iw b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_iw
new file mode 100644
index 0000000..715f8f0
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_iw
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ja b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ja
new file mode 100644
index 0000000..d559b04
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ja
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_pl b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_pl
new file mode 100644
index 0000000..440ff0e
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_pl
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_pt b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_pt
new file mode 100644
index 0000000..c89b1b4
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_pt
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ro b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ro
new file mode 100644
index 0000000..82606ac
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ro
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ru b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ru
new file mode 100644
index 0000000..e94b0d7
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ru
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_sl b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_sl
new file mode 100644
index 0000000..e083afe
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_sl
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_sr b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_sr
new file mode 100644
index 0000000..ae96047
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_sr
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_tr b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_tr
new file mode 100644
index 0000000..3fe4384
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_tr
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_uk b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_uk
new file mode 100644
index 0000000..7f1676a
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_uk
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_vi b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_vi
new file mode 100644
index 0000000..0221acd
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_vi
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/84_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/84_en
index 5221729..28501b9 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/84_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/84_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en
index ec13539..ca85eca 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh
index 6519ec5..84f72fa 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/91_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/91_en
index 0b87cd9..06551ca 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/91_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/91_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_en
new file mode 100644
index 0000000..3c179c7
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_fa b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_fa
new file mode 100644
index 0000000..19c76fd
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_fa
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_en
index e6995f4..2d8f8f7 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_fa b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_fa
index 00da41f..19206f8 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_fa
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_fa
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/992_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/992_en
new file mode 100644
index 0000000..7bdce26
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/992_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/994_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/994_en
new file mode 100644
index 0000000..69468e9
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/994_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config
index 591c591..7b3822c 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data b/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data
index f8a5045..08d7a6d 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data
+++ b/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data
Binary files differ
diff --git a/geocoder/test/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoderTest.java b/geocoder/test/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoderTest.java
index ed9bd3b..082a759 100644
--- a/geocoder/test/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoderTest.java
+++ b/geocoder/test/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoderTest.java
@@ -41,6 +41,8 @@
       new PhoneNumber().setCountryCode(82).setNationalNumber(6421234567L);
   private static final PhoneNumber KO_INVALID_NUMBER =
       new PhoneNumber().setCountryCode(82).setNationalNumber(1234L);
+  private static final PhoneNumber KO_MOBILE =
+      new PhoneNumber().setCountryCode(82).setNationalNumber(101234567L);
   private static final PhoneNumber US_NUMBER1 =
       new PhoneNumber().setCountryCode(1).setNationalNumber(6502530000L);
   private static final PhoneNumber US_NUMBER2 =
@@ -160,4 +162,9 @@
     assertEquals("", geocoder.getDescriptionForNumber(KO_INVALID_NUMBER, Locale.ENGLISH));
     assertEquals("", geocoder.getDescriptionForNumber(US_INVALID_NUMBER, Locale.ENGLISH));
   }
+
+  public void testGetDescriptionForNonGeographicalNumberWithGeocodingPrefix() {
+    // We have a geocoding prefix, but we shouldn't use it since this is not geographical.
+    assertEquals("South Korea", geocoder.getDescriptionForNumber(KO_MOBILE, Locale.ENGLISH));
+  }
 }
diff --git a/geocoder/test/com/google/i18n/phonenumbers/geocoding/testing_data/82_en b/geocoder/test/com/google/i18n/phonenumbers/geocoding/testing_data/82_en
index cd18ecb..8d13960 100644
--- a/geocoder/test/com/google/i18n/phonenumbers/geocoding/testing_data/82_en
+++ b/geocoder/test/com/google/i18n/phonenumbers/geocoding/testing_data/82_en
Binary files differ
diff --git a/internal/prefixmapper/pom.xml b/internal/prefixmapper/pom.xml
index 3d86d55..f9ba2fb 100644
--- a/internal/prefixmapper/pom.xml
+++ b/internal/prefixmapper/pom.xml
@@ -3,14 +3,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>prefixmapper</artifactId>
-  <version>2.36</version>
+  <version>2.53</version>
   <packaging>jar</packaging>
   <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.2.6</version>
+    <version>7.7.0</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
@@ -23,13 +23,35 @@
         <targetPath>com/google/i18n/phonenumbers/geocoding/testing_data</targetPath>
       </testResource>
     </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>animal-sniffer-maven-plugin</artifactId>
+        <version>1.15</version>
+        <executions>
+          <execution>
+            <phase>test</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <signature>
+            <groupId>org.codehaus.mojo.signature</groupId>
+            <artifactId>java15</artifactId>
+            <version>1.0</version>
+          </signature>
+        </configuration>
+      </plugin>
+    </plugins>
   </build>
 
   <dependencies>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.2.6</version>
+      <version>7.7.0</version>
     </dependency>
   </dependencies>
 
diff --git a/lib/com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.jar b/lib/com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.jar
deleted file mode 100644
index 669e672..0000000
--- a/lib/com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.jar
+++ /dev/null
Binary files differ
diff --git a/lib/com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.pom b/lib/com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.pom
deleted file mode 100644
index a9f88e0..0000000
--- a/lib/com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.pom
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>com.google.protobuf</groupId>
-  <artifactId>protobuf-java</artifactId>
-  <version>2.6.1</version>
-  <description>POM was created from install:install-file</description>
-</project>
diff --git a/lib/com/google/protobuf/protobuf-java/maven-metadata-local.xml b/lib/com/google/protobuf/protobuf-java/maven-metadata-local.xml
deleted file mode 100644
index fdb8517..0000000
--- a/lib/com/google/protobuf/protobuf-java/maven-metadata-local.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<metadata>
-  <groupId>com.google.protobuf</groupId>
-  <artifactId>protobuf-java</artifactId>
-  <versioning>
-    <release>2.6.1</release>
-    <versions>
-      <version>2.6.1</version>
-    </versions>
-    <lastUpdated>20151102180249</lastUpdated>
-  </versioning>
-</metadata>
diff --git a/libphonenumber/pom.xml b/libphonenumber/pom.xml
index 82446bc..608ab88 100644
--- a/libphonenumber/pom.xml
+++ b/libphonenumber/pom.xml
@@ -3,14 +3,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>libphonenumber</artifactId>
-  <version>7.2.6</version>
+  <version>7.7.0</version>
   <packaging>jar</packaging>
   <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.2.6</version>
+    <version>7.7.0</version>
   </parent>
 
   <build>
@@ -30,41 +30,26 @@
     </testResources>
     <plugins>
       <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>com/google/i18n/phonenumbers/SingleFileMetadataSourceImpl.class</exclude>
-            <exclude>com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-shade-plugin</artifactId>
-        <version>2.4.2</version>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>animal-sniffer-maven-plugin</artifactId>
+        <version>1.15</version>
         <executions>
           <execution>
-            <phase>package</phase>
+            <phase>test</phase>
             <goals>
-              <goal>shade</goal>
+              <goal>check</goal>
             </goals>
           </execution>
         </executions>
+        <configuration>
+          <signature>
+            <groupId>org.codehaus.mojo.signature</groupId>
+            <artifactId>java15</artifactId>
+            <version>1.0</version>
+          </signature>
+        </configuration>
       </plugin>
     </plugins>
   </build>
 
-  <repositories>
-    <repository>
-      <id>protobuf-java-lib</id>
-      <url>file://${project.basedir}/../lib</url>
-    </repository>
-  </repositories>
-  <dependencies>
-    <dependency>
-      <groupId>com.google.protobuf</groupId>
-      <artifactId>protobuf-java</artifactId>
-      <version>2.6.1</version>
-    </dependency>
-  </dependencies>
-
 </project>
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java b/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java
index 6af473e..abcab8d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java
@@ -16,8 +16,8 @@
 
 package com.google.i18n.phonenumbers;
 
-import com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata;
+import com.google.i18n.phonenumbers.Phonemetadata.NumberFormat;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -61,11 +61,8 @@
   // Character used when appropriate to separate a prefix, such as a long NDD or a country calling
   // code, from the national number.
   private static final char SEPARATOR_BEFORE_NATIONAL_NUMBER = ' ';
-  private static final PhoneMetadata EMPTY_METADATA;
-  static {
-    EMPTY_METADATA = new PhoneMetadata();
-    EMPTY_METADATA.internationalPrefix = "NA";
-  }
+  private static final PhoneMetadata EMPTY_METADATA =
+      new PhoneMetadata().setInternationalPrefix("NA");
   private PhoneMetadata defaultMetadata;
   private PhoneMetadata currentMetadata;
 
@@ -154,7 +151,7 @@
     Iterator<NumberFormat> it = possibleFormats.iterator();
     while (it.hasNext()) {
       NumberFormat numberFormat = it.next();
-      String pattern = numberFormat.pattern;
+      String pattern = numberFormat.getPattern();
       if (currentFormattingPattern.equals(pattern)) {
         return false;
       }
@@ -162,7 +159,7 @@
         currentFormattingPattern = pattern;
         shouldAddSpaceAfterNationalPrefix =
             NATIONAL_PREFIX_SEPARATORS_PATTERN.matcher(
-                numberFormat.nationalPrefixFormattingRule).find();
+                numberFormat.getNationalPrefixFormattingRule()).find();
         // With a new formatting template, the matched position using the old template needs to be
         // reset.
         lastMatchPosition = 0;
@@ -176,17 +173,17 @@
   }
 
   private void getAvailableFormats(String leadingDigits) {
-    NumberFormat[] numberFormats =
-        (isCompleteNumber && currentMetadata.intlNumberFormat.length > 0)
-        ? currentMetadata.intlNumberFormat
-        : currentMetadata.numberFormat;
-    boolean nationalPrefixIsUsedByCountry = (!currentMetadata.nationalPrefix.equals(""));
-    for (NumberFormat format : numberFormats) {
+    List<NumberFormat> formatList =
+        (isCompleteNumber && currentMetadata.intlNumberFormatSize() > 0)
+        ? currentMetadata.intlNumberFormats()
+        : currentMetadata.numberFormats();
+    boolean nationalPrefixIsUsedByCountry = currentMetadata.hasNationalPrefix();
+    for (NumberFormat format : formatList) {
       if (!nationalPrefixIsUsedByCountry || isCompleteNumber ||
-          format.nationalPrefixOptionalWhenFormatting ||
+          format.isNationalPrefixOptionalWhenFormatting() ||
           PhoneNumberUtil.formattingRuleHasFirstGroupOnly(
-              format.nationalPrefixFormattingRule)) {
-        if (isFormatEligible(format.format)) {
+              format.getNationalPrefixFormattingRule())) {
+        if (isFormatEligible(format.getFormat())) {
           possibleFormats.add(format);
         }
       }
@@ -203,14 +200,14 @@
     Iterator<NumberFormat> it = possibleFormats.iterator();
     while (it.hasNext()) {
       NumberFormat format = it.next();
-      if (format.leadingDigitsPattern.length == 0) {
+      if (format.leadingDigitsPatternSize() == 0) {
         // Keep everything that isn't restricted by leading digits.
         continue;
       }
       int lastLeadingDigitsPattern =
-          Math.min(indexOfLeadingDigitsPattern, format.leadingDigitsPattern.length - 1);
+          Math.min(indexOfLeadingDigitsPattern, format.leadingDigitsPatternSize() - 1);
       Pattern leadingDigitsPattern = regexCache.getPatternForRegex(
-          format.leadingDigitsPattern[lastLeadingDigitsPattern]);
+          format.getLeadingDigitsPattern(lastLeadingDigitsPattern));
       Matcher m = leadingDigitsPattern.matcher(leadingDigits);
       if (!m.lookingAt()) {
         it.remove();
@@ -219,7 +216,7 @@
   }
 
   private boolean createFormattingTemplate(NumberFormat format) {
-    String numberPattern = format.pattern;
+    String numberPattern = format.getPattern();
 
     // The formatter doesn't format numbers when numberPattern contains "|", e.g.
     // (20|3)\d{4}. In those cases we quickly return.
@@ -233,7 +230,7 @@
     // Replace any standalone digit (not the one in d{}) with \d
     numberPattern = STANDALONE_DIGIT_PATTERN.matcher(numberPattern).replaceAll("\\\\d");
     formattingTemplate.setLength(0);
-    String tempTemplate = getFormattingTemplate(numberPattern, format.format);
+    String tempTemplate = getFormattingTemplate(numberPattern, format.getFormat());
     if (tempTemplate.length() > 0) {
       formattingTemplate.append(tempTemplate);
       return true;
@@ -431,12 +428,12 @@
    */
   String attemptToFormatAccruedDigits() {
     for (NumberFormat numberFormat : possibleFormats) {
-      Matcher m = regexCache.getPatternForRegex(numberFormat.pattern).matcher(nationalNumber);
+      Matcher m = regexCache.getPatternForRegex(numberFormat.getPattern()).matcher(nationalNumber);
       if (m.matches()) {
         shouldAddSpaceAfterNationalPrefix =
             NATIONAL_PREFIX_SEPARATORS_PATTERN.matcher(
-                numberFormat.nationalPrefixFormattingRule).find();
-        String formattedNumber = m.replaceAll(numberFormat.format);
+                numberFormat.getNationalPrefixFormattingRule()).find();
+        String formattedNumber = m.replaceAll(numberFormat.getFormat());
         return appendNationalNumber(formattedNumber);
       }
     }
@@ -529,7 +526,7 @@
     // that national significant numbers in NANPA always start with [2-9] after the national prefix.
     // Numbers beginning with 1[01] can only be short/emergency numbers, which don't need the
     // national prefix.
-    return (currentMetadata.countryCode == 1) && (nationalNumber.charAt(0) == '1') &&
+    return (currentMetadata.getCountryCode() == 1) && (nationalNumber.charAt(0) == '1') &&
            (nationalNumber.charAt(1) != '0') && (nationalNumber.charAt(1) != '1');
   }
 
@@ -540,9 +537,9 @@
       startOfNationalNumber = 1;
       prefixBeforeNationalNumber.append('1').append(SEPARATOR_BEFORE_NATIONAL_NUMBER);
       isCompleteNumber = true;
-    } else if (!currentMetadata.nationalPrefixForParsing.equals("")) {
+    } else if (currentMetadata.hasNationalPrefixForParsing()) {
       Pattern nationalPrefixForParsing =
-          regexCache.getPatternForRegex(currentMetadata.nationalPrefixForParsing);
+          regexCache.getPatternForRegex(currentMetadata.getNationalPrefixForParsing());
       Matcher m = nationalPrefixForParsing.matcher(nationalNumber);
       // Since some national prefix patterns are entirely optional, check that a national prefix
       // could actually be extracted.
@@ -570,7 +567,7 @@
   private boolean attemptToExtractIdd() {
     Pattern internationalPrefix =
         regexCache.getPatternForRegex("\\" + PhoneNumberUtil.PLUS_SIGN + "|" +
-            currentMetadata.internationalPrefix);
+            currentMetadata.getInternationalPrefix());
     Matcher iddMatcher = internationalPrefix.matcher(accruedInputWithoutFormatting);
     if (iddMatcher.lookingAt()) {
       isCompleteNumber = true;
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/MetadataLoader.java b/libphonenumber/src/com/google/i18n/phonenumbers/MetadataLoader.java
index 1ab3e93..9904bcd 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/MetadataLoader.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/MetadataLoader.java
@@ -23,7 +23,8 @@
  */
 public interface MetadataLoader {
   /**
-   * Returns an input stream corresponding to the metadata to load.
+   * Returns an input stream corresponding to the metadata to load. This method may be called
+   * concurrently so implementations must be thread-safe.
    *
    * @param metadataFileName File name (including path) of metadata to load. File path is an
    *     absolute class path like /com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto.
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/MetadataManager.java b/libphonenumber/src/com/google/i18n/phonenumbers/MetadataManager.java
index 0d998c7..df72a60 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/MetadataManager.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/MetadataManager.java
@@ -16,16 +16,16 @@
 
 package com.google.i18n.phonenumbers;
 
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadataCollection;
-import com.google.protobuf.nano.CodedInputByteBufferNano;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadataCollection;
 
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.ObjectInputStream;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.logging.Level;
@@ -36,13 +36,13 @@
  * additional data files such as PhoneNumberAlternateFormats, but in the future it is envisaged it
  * would handle the main metadata file (PhoneNumberMetadata.xml) as well.
  */
-class MetadataManager {
+final class MetadataManager {
   private static final String ALTERNATE_FORMATS_FILE_PREFIX =
       "/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto";
   private static final String SHORT_NUMBER_METADATA_FILE_PREFIX =
       "/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto";
 
-  private static final Logger LOGGER = Logger.getLogger(MetadataManager.class.getName());
+  private static final Logger logger = Logger.getLogger(MetadataManager.class.getName());
 
   private static final Map<Integer, PhoneMetadata> callingCodeToAlternateFormatsMap =
       Collections.synchronizedMap(new HashMap<Integer, PhoneMetadata>());
@@ -61,50 +61,52 @@
   private MetadataManager() {
   }
 
-  private static void close(InputStream in) {
-    if (in != null) {
+  /**
+   * Loads and returns the metadata object from the given stream and closes the stream.
+   *
+   * @param source  the non-null stream from which metadata is to be read
+   * @return  the loaded metadata object
+   */
+  static PhoneMetadataCollection loadMetadataAndCloseInput(InputStream source) {
+    ObjectInputStream ois = null;
+    try {
       try {
-        in.close();
+        ois = new ObjectInputStream(source);
       } catch (IOException e) {
-        LOGGER.log(Level.WARNING, e.toString());
+        throw new RuntimeException("cannot load/parse metadata", e);
+      }
+      PhoneMetadataCollection metadataCollection = new PhoneMetadataCollection();
+      try {
+        metadataCollection.readExternal(ois);
+      } catch (IOException e) {
+        throw new RuntimeException("cannot load/parse metadata", e);
+      }
+      return metadataCollection;
+    } finally {
+      try {
+        if (ois != null) {
+          // This will close all underlying streams as well, including source.
+          ois.close();
+        } else {
+          source.close();
+        }
+      } catch (IOException e) {
+        logger.log(Level.WARNING, "error closing input stream (ignored)", e);
       }
     }
   }
 
-  // The size of the byte buffer used for deserializing the alternate formats and short number
-  // metadata files for each region.
-  private static final int BUFFER_SIZE = 16 * 1024;
-
-  static CodedInputByteBufferNano convertStreamToByteBuffer(ObjectInputStream in, int bufferSize)
-      throws IOException {
-    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-    int nRead;
-    byte[] data = new byte[bufferSize];
-
-    while ((nRead = in.read(data, 0, bufferSize)) != -1) {
-      outputStream.write(data, 0, nRead);
-    }
-
-    outputStream.flush();
-    return CodedInputByteBufferNano.newInstance(outputStream.toByteArray());
-  }
-
   private static void loadAlternateFormatsMetadataFromFile(int countryCallingCode) {
-    InputStream source = PhoneNumberMatcher.class.getResourceAsStream(
-        ALTERNATE_FORMATS_FILE_PREFIX + "_" + countryCallingCode);
-    ObjectInputStream in = null;
-    try {
-      in = new ObjectInputStream(source);
-      CodedInputByteBufferNano byteBuffer = convertStreamToByteBuffer(in, BUFFER_SIZE);
-      PhoneMetadataCollection alternateFormats = new PhoneMetadataCollection();
-      alternateFormats.mergeFrom(byteBuffer);
-      for (PhoneMetadata metadata : alternateFormats.metadata) {
-        callingCodeToAlternateFormatsMap.put(metadata.countryCode, metadata);
-      }
-    } catch (IOException e) {
-      LOGGER.log(Level.WARNING, e.toString());
-    } finally {
-      close(in);
+    String fileName = ALTERNATE_FORMATS_FILE_PREFIX + "_" + countryCallingCode;
+    InputStream source = MetadataManager.class.getResourceAsStream(fileName);
+    if (source == null) {
+      // Sanity check; this should not happen since we only load things based on the expectation
+      // that they are present, by checking the map of available data first.
+      throw new IllegalStateException("missing metadata: " + fileName);
+    }
+    PhoneMetadataCollection alternateFormats = loadMetadataAndCloseInput(source);
+    for (PhoneMetadata metadata : alternateFormats.getMetadataList()) {
+      callingCodeToAlternateFormatsMap.put(metadata.getCountryCode(), metadata);
     }
   }
 
@@ -121,21 +123,16 @@
   }
 
   private static void loadShortNumberMetadataFromFile(String regionCode) {
-    InputStream source = PhoneNumberMatcher.class.getResourceAsStream(
-        SHORT_NUMBER_METADATA_FILE_PREFIX + "_" + regionCode);
-    ObjectInputStream in = null;
-    try {
-      in = new ObjectInputStream(source);
-      CodedInputByteBufferNano byteBuffer = convertStreamToByteBuffer(in, BUFFER_SIZE);
-      PhoneMetadataCollection shortNumberMetadata = new PhoneMetadataCollection();
-      shortNumberMetadata.mergeFrom(byteBuffer);
-      for (PhoneMetadata metadata : shortNumberMetadata.metadata) {
-        regionCodeToShortNumberMetadataMap.put(regionCode, metadata);
-      }
-    } catch (IOException e) {
-      LOGGER.log(Level.WARNING, e.toString());
-    } finally {
-      close(in);
+    String fileName = SHORT_NUMBER_METADATA_FILE_PREFIX + "_" + regionCode;
+    InputStream source = MetadataManager.class.getResourceAsStream(fileName);
+    if (source == null) {
+      // Sanity check; this should not happen since we only load things based on the expectation
+      // that they are present, by checking the map of available data first.
+      throw new IllegalStateException("missing metadata: " + fileName);
+    }
+    PhoneMetadataCollection shortNumberMetadata = loadMetadataAndCloseInput(source);
+    for (PhoneMetadata metadata : shortNumberMetadata.getMetadataList()) {
+      regionCodeToShortNumberMetadataMap.put(regionCode, metadata);
     }
   }
 
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/MetadataSource.java b/libphonenumber/src/com/google/i18n/phonenumbers/MetadataSource.java
index 018ff3d..d0ec50d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/MetadataSource.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/MetadataSource.java
@@ -16,7 +16,7 @@
 
 package com.google.i18n.phonenumbers;
 
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
 
 /**
  * A source for phone metadata for all regions.
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java b/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java
index 4f6b29d..d89052c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java
@@ -16,16 +16,16 @@
 
 package com.google.i18n.phonenumbers;
 
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadataCollection;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadataCollection;
 
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.ObjectInputStream;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -41,18 +41,14 @@
       "/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto";
 
   // A mapping from a region code to the PhoneMetadata for that region.
-  // Note: Synchronization, though only needed for the Android version of the library, is used in
-  // all versions for consistency.
-  private final Map<String, PhoneMetadata> regionToMetadataMap =
-      Collections.synchronizedMap(new HashMap<String, PhoneMetadata>());
+  private final ConcurrentHashMap<String, PhoneMetadata> geographicalRegions =
+      new ConcurrentHashMap<String, PhoneMetadata>();
 
   // A mapping from a country calling code for a non-geographical entity to the PhoneMetadata for
   // that country calling code. Examples of the country calling codes include 800 (International
   // Toll Free Service) and 808 (International Shared Cost Service).
-  // Note: Synchronization, though only needed for the Android version of the library, is used in
-  // all versions for consistency.
-  private final Map<Integer, PhoneMetadata> countryCodeToNonGeographicalMetadataMap =
-      Collections.synchronizedMap(new HashMap<Integer, PhoneMetadata>());
+  private final ConcurrentHashMap<Integer, PhoneMetadata> nonGeographicalRegions =
+      new ConcurrentHashMap<Integer, PhoneMetadata>();
 
   // The prefix of the metadata files from which region data is loaded.
   private final String filePrefix;
@@ -60,104 +56,81 @@
   // The metadata loader used to inject alternative metadata sources.
   private final MetadataLoader metadataLoader;
 
-  // It is assumed that metadataLoader is not null.
-  public MultiFileMetadataSourceImpl(String filePrefix, MetadataLoader metadataLoader) {
+  // It is assumed that metadataLoader is not null. If needed, checks should happen before passing
+  // here.
+  // @VisibleForTesting
+  MultiFileMetadataSourceImpl(String filePrefix, MetadataLoader metadataLoader) {
     this.filePrefix = filePrefix;
     this.metadataLoader = metadataLoader;
   }
 
-  // It is assumed that metadataLoader is not null.
+  // It is assumed that metadataLoader is not null. If needed, checks should happen before passing
+  // here.
   public MultiFileMetadataSourceImpl(MetadataLoader metadataLoader) {
     this(META_DATA_FILE_PREFIX, metadataLoader);
   }
 
   @Override
   public PhoneMetadata getMetadataForRegion(String regionCode) {
-    synchronized (regionToMetadataMap) {
-      if (!regionToMetadataMap.containsKey(regionCode)) {
-        // The regionCode here will be valid and won't be '001', so we don't need to worry about
-        // what to pass in for the country calling code.
-        loadMetadataFromFile(regionCode, 0);
-      }
-    }
-    return regionToMetadataMap.get(regionCode);
+    PhoneMetadata metadata = geographicalRegions.get(regionCode);
+    return (metadata != null) ? metadata : loadMetadataFromFile(
+        regionCode, geographicalRegions, filePrefix, metadataLoader);
   }
 
   @Override
   public PhoneMetadata getMetadataForNonGeographicalRegion(int countryCallingCode) {
-    synchronized (countryCodeToNonGeographicalMetadataMap) {
-      if (!countryCodeToNonGeographicalMetadataMap.containsKey(countryCallingCode)) {
-        List<String> regionCodes =
-            CountryCodeToRegionCodeMap.getCountryCodeToRegionCodeMap().get(countryCallingCode);
-        // We can assume that if the country calling code maps to the non-geo entity region code
-        // then that's the only region code it maps to.
-        if (regionCodes.size() == 1 &&
-            PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY.equals(regionCodes.get(0))) {
-          loadMetadataFromFile(PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY, countryCallingCode);
-        }
-      }
+    PhoneMetadata metadata = nonGeographicalRegions.get(countryCallingCode);
+    if (metadata != null) {
+      return metadata;
     }
-    return countryCodeToNonGeographicalMetadataMap.get(countryCallingCode);
+    if (isNonGeographical(countryCallingCode)) {
+      return loadMetadataFromFile(
+          countryCallingCode, nonGeographicalRegions, filePrefix, metadataLoader);
+    }
+    // The given country calling code was for a geographical region.
+    return null;
   }
 
-  // @VisibleForTesting
-  void loadMetadataFromFile(String regionCode, int countryCallingCode) {
-    boolean isNonGeoRegion = PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY.equals(regionCode);
-    String fileName = filePrefix + "_" +
-        (isNonGeoRegion ? String.valueOf(countryCallingCode) : regionCode);
-    InputStream source = metadataLoader.loadMetadata(fileName);
-    if (source == null) {
-      logger.log(Level.SEVERE, "missing metadata: " + fileName);
-      throw new IllegalStateException("missing metadata: " + fileName);
-    }
-    try {
-      PhoneMetadataCollection metadataCollection =
-          loadMetadataAndCloseInput(new ObjectInputStream(source));
-      PhoneMetadata[] metadataList = metadataCollection.metadata;
-      if (metadataList.length == 0) {
-        logger.log(Level.SEVERE, "empty metadata: " + fileName);
-        throw new IllegalStateException("empty metadata: " + fileName);
-      }
-      if (metadataList.length > 1) {
-        logger.log(Level.WARNING, "invalid metadata (too many entries): " + fileName);
-      }
-      PhoneMetadata metadata = metadataList[0];
-      if (isNonGeoRegion) {
-        countryCodeToNonGeographicalMetadataMap.put(countryCallingCode, metadata);
-      } else {
-        regionToMetadataMap.put(regionCode, metadata);
-      }
-    } catch (IOException e) {
-      logger.log(Level.SEVERE, "cannot load/parse metadata: " + fileName, e);
-      throw new RuntimeException("cannot load/parse metadata: " + fileName, e);
-    }
+  // A country calling code is non-geographical if it only maps to the non-geographical region code,
+  // i.e. "001".
+  private boolean isNonGeographical(int countryCallingCode) {
+    List<String> regionCodes =
+        CountryCodeToRegionCodeMap.getCountryCodeToRegionCodeMap().get(countryCallingCode);
+    return (regionCodes.size() == 1
+        && PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY.equals(regionCodes.get(0)));
   }
 
   /**
-   * Loads the metadata protocol buffer from the given stream and closes the stream afterwards. Any
-   * exceptions that occur while reading or closing the stream are ignored.
-   *
-   * @param source  the non-null stream from which metadata is to be read.
-   * @return        the loaded metadata protocol buffer.
+   * @param key             The geographical region code or the non-geographical region's country
+   *                        calling code.
+   * @param map             The map to contain the mapping from {@code key} to the corresponding
+   *                        metadata.
+   * @param filePrefix      The prefix of the metadata files from which region data is loaded.
+   * @param metadataLoader  The metadata loader used to inject alternative metadata sources.
    */
-  private static PhoneMetadataCollection loadMetadataAndCloseInput(ObjectInputStream source) {
-    // The size of the byte buffer used for deserializing the phone number metadata files for each
-    // region.
-    final int MULTI_FILE_BUFFER_SIZE = 16 * 1024;
-
-    PhoneMetadataCollection metadataCollection = new PhoneMetadataCollection();
-    try {
-      metadataCollection.mergeFrom(
-          MetadataManager.convertStreamToByteBuffer(source, MULTI_FILE_BUFFER_SIZE));
-    } catch (IOException e) {
-      logger.log(Level.WARNING, "error reading input (ignored)", e);
-    } finally {
-      try {
-        source.close();
-      } catch (IOException e) {
-        logger.log(Level.WARNING, "error closing input stream (ignored)", e);
-      }
+  // @VisibleForTesting
+  static <T> PhoneMetadata loadMetadataFromFile(
+      T key, ConcurrentHashMap<T, PhoneMetadata> map, String filePrefix,
+      MetadataLoader metadataLoader) {
+    // We assume key.toString() is well-defined.
+    String fileName = filePrefix + "_" + key;
+    InputStream source = metadataLoader.loadMetadata(fileName);
+    if (source == null) {
+      // Sanity check; this should not happen since we only load things based on the expectation
+      // that they are present, by checking the map of available data first.
+      throw new IllegalStateException("missing metadata: " + fileName);
     }
-    return metadataCollection;
+    PhoneMetadataCollection metadataCollection = MetadataManager.loadMetadataAndCloseInput(source);
+    List<PhoneMetadata> metadataList = metadataCollection.getMetadataList();
+    if (metadataList.isEmpty()) {
+      // Sanity check; this should not happen since we build with non-empty metadata.
+      throw new IllegalStateException("empty metadata: " + fileName);
+    }
+    if (metadataList.size() > 1) {
+      logger.log(Level.WARNING, "invalid metadata (too many entries): " + fileName);
+    }
+    PhoneMetadata metadata = metadataList.get(0);
+    PhoneMetadata oldValue = map.putIfAbsent(key, metadata);
+    return (oldValue != null) ? oldValue : metadata;
   }
 }
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatcher.java b/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatcher.java
index a9d918f..c74b21a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatcher.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatcher.java
@@ -19,10 +19,10 @@
 import com.google.i18n.phonenumbers.PhoneNumberUtil.Leniency;
 import com.google.i18n.phonenumbers.PhoneNumberUtil.MatchType;
 import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat;
-import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
+import com.google.i18n.phonenumbers.Phonemetadata.NumberFormat;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
 import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber.CountryCodeSource;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata;
+import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
 
 import java.lang.Character.UnicodeBlock;
 import java.util.Iterator;
@@ -585,7 +585,7 @@
     PhoneMetadata alternateFormats =
         MetadataManager.getAlternateFormatsForCountry(number.getCountryCode());
     if (alternateFormats != null) {
-      for (NumberFormat alternateFormat : alternateFormats.numberFormat) {
+      for (NumberFormat alternateFormat : alternateFormats.numberFormats()) {
         formattedNumberGroups = getNationalNumberGroups(util, number, alternateFormat);
         if (checker.checkGroups(util, number, normalizedCandidate, formattedNumberGroups)) {
           return true;
@@ -665,17 +665,17 @@
     // Check if a national prefix should be present when formatting this number.
     String nationalNumber = util.getNationalSignificantNumber(number);
     NumberFormat formatRule =
-        util.chooseFormattingPatternForNumber(metadata.numberFormat, nationalNumber);
+        util.chooseFormattingPatternForNumber(metadata.numberFormats(), nationalNumber);
     // To do this, we check that a national prefix formatting rule was present and that it wasn't
     // just the first-group symbol ($1) with punctuation.
-    if ((formatRule != null) && formatRule.nationalPrefixFormattingRule.length() > 0) {
-      if (formatRule.nationalPrefixOptionalWhenFormatting) {
+    if ((formatRule != null) && formatRule.getNationalPrefixFormattingRule().length() > 0) {
+      if (formatRule.isNationalPrefixOptionalWhenFormatting()) {
         // The national-prefix is optional in these cases, so we don't need to check if it was
         // present.
         return true;
       }
       if (PhoneNumberUtil.formattingRuleHasFirstGroupOnly(
-          formatRule.nationalPrefixFormattingRule)) {
+          formatRule.getNationalPrefixFormattingRule())) {
         // National Prefix not needed for this number.
         return true;
       }
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java b/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java
index 0a0e455..5a41d76 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java
@@ -16,11 +16,11 @@
 
 package com.google.i18n.phonenumbers;
 
+import com.google.i18n.phonenumbers.Phonemetadata.NumberFormat;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneNumberDesc;
 import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
 import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber.CountryCodeSource;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc;
 
 import java.io.InputStream;
 import java.util.ArrayList;
@@ -88,6 +88,19 @@
   // be the length of the area code plus the length of the mobile token.
   private static final Map<Integer, String> MOBILE_TOKEN_MAPPINGS;
 
+  // Set of country codes that have geographically assigned mobile numbers (see GEO_MOBILE_COUNTRIES
+  // below) which are not based on *area codes*. For example, in China mobile numbers start with a
+  // carrier indicator, and beyond that are geographically assigned: this carrier indicator is not
+  // considered to be an area code.
+  private static final Set<Integer> GEO_MOBILE_COUNTRIES_WITHOUT_MOBILE_AREA_CODES;
+
+  // Set of country calling codes that have geographically assigned mobile numbers. This may not be
+  // complete; we add calling codes case by case, as we find geographical mobile numbers or hear
+  // from user reports. Note that countries like the US, where we can't distinguish between
+  // fixed-line or mobile numbers, are not listed here, since we consider FIXED_LINE_OR_MOBILE to be
+  // a possibly geographically-related type anyway (like FIXED_LINE).
+  private static final Set<Integer> GEO_MOBILE_COUNTRIES;
+
   // The PLUS_SIGN signifies the international prefix.
   static final char PLUS_SIGN = '+';
 
@@ -119,6 +132,19 @@
     mobileTokenMap.put(54, "9");
     MOBILE_TOKEN_MAPPINGS = Collections.unmodifiableMap(mobileTokenMap);
 
+    HashSet<Integer> geoMobileCountriesWithoutMobileAreaCodes = new HashSet<Integer>();
+    geoMobileCountriesWithoutMobileAreaCodes.add(86);  // China
+    GEO_MOBILE_COUNTRIES_WITHOUT_MOBILE_AREA_CODES =
+        Collections.unmodifiableSet(geoMobileCountriesWithoutMobileAreaCodes);
+
+    HashSet<Integer> geoMobileCountries = new HashSet<Integer>();
+    geoMobileCountries.add(52);  // Mexico
+    geoMobileCountries.add(54);  // Argentina
+    geoMobileCountries.add(55);  // Brazil
+    geoMobileCountries.add(62);  // Indonesia: some prefixes only (fixed CMDA wireless)
+    geoMobileCountries.addAll(geoMobileCountriesWithoutMobileAreaCodes);
+    GEO_MOBILE_COUNTRIES = Collections.unmodifiableSet(geoMobileCountries);
+
     // Simple ASCII digits map used to populate ALPHA_PHONE_MAPPINGS and
     // ALL_PLUS_NUMBER_GROUPING_SYMBOLS.
     HashMap<Character, Character> asciiDigitMappings = new HashMap<Character, Character>();
@@ -587,24 +613,6 @@
   }
 
   /**
-   * Returns a copy of the given NumberFormat object.
-   */
-  static NumberFormat copyNumberFormat(NumberFormat other) {
-    NumberFormat copy = new NumberFormat();
-    copy.pattern = other.pattern;
-    copy.format = other.format;
-    int leadingDigitsPatternSize = other.leadingDigitsPattern.length;
-    copy.leadingDigitsPattern = new String[leadingDigitsPatternSize];
-    for (int i = 0; i < leadingDigitsPatternSize; i++) {
-      copy.leadingDigitsPattern[i] = other.leadingDigitsPattern[i];
-    }
-    copy.nationalPrefixFormattingRule = other.nationalPrefixFormattingRule;
-    copy.domesticCarrierCodeFormattingRule = other.domesticCarrierCodeFormattingRule;
-    copy.nationalPrefixOptionalWhenFormatting = other.nationalPrefixOptionalWhenFormatting;
-    return copy;
-  }
-
-  /**
    * Attempts to extract a possible number from the string passed in. This currently strips all
    * leading characters that cannot be used to start a phone number. Characters that can be used to
    * start a phone number are defined in the VALID_START_CHAR_PATTERN. If none of these characters
@@ -787,11 +795,21 @@
     }
     // If a country doesn't use a national prefix, and this number doesn't have an Italian leading
     // zero, we assume it is a closed dialling plan with no area codes.
-    if (metadata.nationalPrefix.equals("") && !number.isItalianLeadingZero()) {
+    if (!metadata.hasNationalPrefix() && !number.isItalianLeadingZero()) {
       return 0;
     }
 
-    if (!isNumberGeographical(number)) {
+    PhoneNumberType type = getNumberType(number);
+    int countryCallingCode = number.getCountryCode();
+    if (type == PhoneNumberType.MOBILE
+        // Note this is a rough heuristic; it doesn't cover Indonesia well, for example, where area
+        // codes are present for some mobile phones but not for others. We have no better way of
+        // representing this in the metadata at this point.
+        && GEO_MOBILE_COUNTRIES_WITHOUT_MOBILE_AREA_CODES.contains(countryCallingCode)) {
+      return 0;
+    }
+
+    if (!isNumberGeographical(type, countryCallingCode)) {
       return 0;
     }
 
@@ -1006,18 +1024,23 @@
    * Tests whether a phone number has a geographical association. It checks if the number is
    * associated to a certain region in the country where it belongs to. Note that this doesn't
    * verify if the number is actually in use.
-   *
-   * A similar method is implemented as PhoneNumberOfflineGeocoder.canBeGeocoded, which performs a
-   * looser check, since it only prevents cases where prefixes overlap for geocodable and
-   * non-geocodable numbers. Also, if new phone number types were added, we should check if this
-   * other method should be updated too.
    */
-  boolean isNumberGeographical(PhoneNumber phoneNumber) {
-    PhoneNumberType numberType = getNumberType(phoneNumber);
-    // TODO: Include mobile phone numbers from countries like Indonesia, which has some
-    // mobile numbers that are geographical.
-    return numberType == PhoneNumberType.FIXED_LINE ||
-        numberType == PhoneNumberType.FIXED_LINE_OR_MOBILE;
+  public boolean isNumberGeographical(PhoneNumber phoneNumber) {
+    return isNumberGeographical(getNumberType(phoneNumber), phoneNumber.getCountryCode());
+  }
+
+  /**
+   * Tests whether a phone number has a geographical association, as represented by its type and the
+   * country it belongs to.
+   *
+   * This version of isNumberGeographical exists since calculating the phone number type is
+   * expensive; if we have already done this, we don't want to do it again.
+   */
+  public boolean isNumberGeographical(PhoneNumberType numberType, int countryCallingCode) {
+    return numberType == PhoneNumberType.FIXED_LINE
+        || numberType == PhoneNumberType.FIXED_LINE_OR_MOBILE
+        || (GEO_MOBILE_COUNTRIES.contains(countryCallingCode)
+            && numberType == PhoneNumberType.MOBILE);
   }
 
   /**
@@ -1131,29 +1154,29 @@
     StringBuilder formattedNumber = new StringBuilder(20);
 
     NumberFormat formattingPattern =
-        chooseFormattingPatternForNumber(userDefinedFormats.toArray(
-            new NumberFormat[userDefinedFormats.size()]), nationalSignificantNumber);
+        chooseFormattingPatternForNumber(userDefinedFormats, nationalSignificantNumber);
     if (formattingPattern == null) {
       // If no pattern above is matched, we format the number as a whole.
       formattedNumber.append(nationalSignificantNumber);
     } else {
+      NumberFormat numFormatCopy = new NumberFormat();
       // Before we do a replacement of the national prefix pattern $NP with the national prefix, we
       // need to copy the rule so that subsequent replacements for different numbers have the
       // appropriate national prefix.
-      NumberFormat numFormatCopy = copyNumberFormat(formattingPattern);
-      String nationalPrefixFormattingRule = formattingPattern.nationalPrefixFormattingRule;
+      numFormatCopy.mergeFrom(formattingPattern);
+      String nationalPrefixFormattingRule = formattingPattern.getNationalPrefixFormattingRule();
       if (nationalPrefixFormattingRule.length() > 0) {
-        String nationalPrefix = metadata.nationalPrefix;
+        String nationalPrefix = metadata.getNationalPrefix();
         if (nationalPrefix.length() > 0) {
           // Replace $NP with national prefix and $FG with the first group ($1).
           nationalPrefixFormattingRule =
               NP_PATTERN.matcher(nationalPrefixFormattingRule).replaceFirst(nationalPrefix);
           nationalPrefixFormattingRule =
               FG_PATTERN.matcher(nationalPrefixFormattingRule).replaceFirst("\\$1");
-          numFormatCopy.nationalPrefixFormattingRule = nationalPrefixFormattingRule;
+          numFormatCopy.setNationalPrefixFormattingRule(nationalPrefixFormattingRule);
         } else {
           // We don't want to have a rule for how to format the national prefix if there isn't one.
-          numFormatCopy.nationalPrefixFormattingRule = "";
+          numFormatCopy.clearNationalPrefixFormattingRule();
         }
       }
       formattedNumber.append(
@@ -1369,16 +1392,16 @@
     }
     // Metadata cannot be null because we checked 'isValidRegionCode()' above.
     PhoneMetadata metadataForRegionCallingFrom = getMetadataForRegion(regionCallingFrom);
-    String internationalPrefix = metadataForRegionCallingFrom.internationalPrefix;
+    String internationalPrefix = metadataForRegionCallingFrom.getInternationalPrefix();
 
     // For regions that have multiple international prefixes, the international format of the
     // number is returned, unless there is a preferred international prefix.
     String internationalPrefixForFormatting = "";
     if (UNIQUE_INTERNATIONAL_PREFIX.matcher(internationalPrefix).matches()) {
       internationalPrefixForFormatting = internationalPrefix;
-    } else if (!metadataForRegionCallingFrom.preferredInternationalPrefix.equals("")) {
+    } else if (metadataForRegionCallingFrom.hasPreferredInternationalPrefix()) {
       internationalPrefixForFormatting =
-          metadataForRegionCallingFrom.preferredInternationalPrefix;
+          metadataForRegionCallingFrom.getPreferredInternationalPrefix();
     }
 
     String regionCode = getRegionCodeForCountryCode(countryCallingCode);
@@ -1464,7 +1487,7 @@
         PhoneMetadata metadata = getMetadataForRegion(regionCode);
         String nationalNumber = getNationalSignificantNumber(number);
         NumberFormat formatRule =
-            chooseFormattingPatternForNumber(metadata.numberFormat, nationalNumber);
+            chooseFormattingPatternForNumber(metadata.numberFormats(), nationalNumber);
         // The format rule could still be null here if the national number was 0 and there was no
         // raw input (this should not be possible for numbers generated by the phonenumber library
         // as they would also not have a country calling code and we would have exited earlier).
@@ -1476,7 +1499,7 @@
         // return the national format.
         // TODO: Refactor the code below with the code in
         // isNationalPrefixPresentIfRequired.
-        String candidateNationalPrefixRule = formatRule.nationalPrefixFormattingRule;
+        String candidateNationalPrefixRule = formatRule.getNationalPrefixFormattingRule();
         // We assume that the first-group symbol will never be _before_ the national prefix.
         int indexOfFirstGroup = candidateNationalPrefixRule.indexOf("$1");
         if (indexOfFirstGroup <= 0) {
@@ -1492,8 +1515,9 @@
           break;
         }
         // Otherwise, we need to remove the national prefix from our output.
-        NumberFormat numFormatCopy = copyNumberFormat(formatRule);
-        numFormatCopy.nationalPrefixFormattingRule = "";
+        NumberFormat numFormatCopy = new NumberFormat();
+        numFormatCopy.mergeFrom(formatRule);
+        numFormatCopy.clearNationalPrefixFormattingRule();
         List<NumberFormat> numberFormats = new ArrayList<NumberFormat>(1);
         numberFormats.add(numFormatCopy);
         formattedNumber = formatByPattern(number, PhoneNumberFormat.NATIONAL, numberFormats);
@@ -1550,7 +1574,7 @@
     }
     String nationalNumber = getNationalSignificantNumber(number);
     NumberFormat formatRule =
-        chooseFormattingPatternForNumber(metadata.numberFormat, nationalNumber);
+        chooseFormattingPatternForNumber(metadata.numberFormats(), nationalNumber);
     return formatRule != null;
   }
 
@@ -1614,17 +1638,18 @@
     } else if (metadataForRegionCallingFrom != null &&
                countryCode == getCountryCodeForValidRegion(regionCallingFrom)) {
       NumberFormat formattingPattern =
-          chooseFormattingPatternForNumber(metadataForRegionCallingFrom.numberFormat,
+          chooseFormattingPatternForNumber(metadataForRegionCallingFrom.numberFormats(),
                                            nationalNumber);
       if (formattingPattern == null) {
         // If no pattern above is matched, we format the original input.
         return rawInput;
       }
-      NumberFormat newFormat = copyNumberFormat(formattingPattern);
+      NumberFormat newFormat = new NumberFormat();
+      newFormat.mergeFrom(formattingPattern);
       // The first group is the first group of digits that the user wrote together.
-      newFormat.pattern = "(\\d+)(.*)";
+      newFormat.setPattern("(\\d+)(.*)");
       // Here we just concatenate them back together after the national prefix has been fixed.
-      newFormat.format = "$1$2";
+      newFormat.setFormat("$1$2");
       // Now we format using this pattern instead of the default pattern, but with the national
       // prefix prefixed if necessary.
       // This will not work in the cases where the pattern (and not the leading digits) decide
@@ -1637,11 +1662,11 @@
     // prefixes, the international format of the number is returned, unless there is a preferred
     // international prefix.
     if (metadataForRegionCallingFrom != null) {
-      String internationalPrefix = metadataForRegionCallingFrom.internationalPrefix;
+      String internationalPrefix = metadataForRegionCallingFrom.getInternationalPrefix();
       internationalPrefixForFormatting =
           UNIQUE_INTERNATIONAL_PREFIX.matcher(internationalPrefix).matches()
           ? internationalPrefix
-          : metadataForRegionCallingFrom.preferredInternationalPrefix;
+          : metadataForRegionCallingFrom.getPreferredInternationalPrefix();
     }
     StringBuilder formattedNumber = new StringBuilder(rawInput);
     String regionCode = getRegionCodeForCountryCode(countryCode);
@@ -1723,27 +1748,27 @@
                            PhoneMetadata metadata,
                            PhoneNumberFormat numberFormat,
                            String carrierCode) {
-    NumberFormat[] intlNumberFormats = metadata.intlNumberFormat;
+    List<NumberFormat> intlNumberFormats = metadata.intlNumberFormats();
     // When the intlNumberFormats exists, we use that to format national number for the
     // INTERNATIONAL format instead of using the numberDesc.numberFormats.
-    NumberFormat[] availableFormats =
-        (intlNumberFormats.length == 0 || numberFormat == PhoneNumberFormat.NATIONAL)
-        ? metadata.numberFormat
-        : metadata.intlNumberFormat;
+    List<NumberFormat> availableFormats =
+        (intlNumberFormats.size() == 0 || numberFormat == PhoneNumberFormat.NATIONAL)
+        ? metadata.numberFormats()
+        : metadata.intlNumberFormats();
     NumberFormat formattingPattern = chooseFormattingPatternForNumber(availableFormats, number);
     return (formattingPattern == null)
         ? number
         : formatNsnUsingPattern(number, formattingPattern, numberFormat, carrierCode);
   }
 
-  NumberFormat chooseFormattingPatternForNumber(NumberFormat[] availableFormats,
+  NumberFormat chooseFormattingPatternForNumber(List<NumberFormat> availableFormats,
                                                 String nationalNumber) {
     for (NumberFormat numFormat : availableFormats) {
-      int size = numFormat.leadingDigitsPattern.length;
+      int size = numFormat.leadingDigitsPatternSize();
       if (size == 0 || regexCache.getPatternForRegex(
               // We always use the last leading_digits_pattern, as it is the most detailed.
-              numFormat.leadingDigitsPattern[size - 1]).matcher(nationalNumber).lookingAt()) {
-        Matcher m = regexCache.getPatternForRegex(numFormat.pattern).matcher(nationalNumber);
+              numFormat.getLeadingDigitsPattern(size - 1)).matcher(nationalNumber).lookingAt()) {
+        Matcher m = regexCache.getPatternForRegex(numFormat.getPattern()).matcher(nationalNumber);
         if (m.matches()) {
           return numFormat;
         }
@@ -1765,15 +1790,15 @@
                                        NumberFormat formattingPattern,
                                        PhoneNumberFormat numberFormat,
                                        String carrierCode) {
-    String numberFormatRule = formattingPattern.format;
+    String numberFormatRule = formattingPattern.getFormat();
     Matcher m =
-        regexCache.getPatternForRegex(formattingPattern.pattern).matcher(nationalNumber);
+        regexCache.getPatternForRegex(formattingPattern.getPattern()).matcher(nationalNumber);
     String formattedNationalNumber = "";
     if (numberFormat == PhoneNumberFormat.NATIONAL &&
         carrierCode != null && carrierCode.length() > 0 &&
-        formattingPattern.domesticCarrierCodeFormattingRule.length() > 0) {
+        formattingPattern.getDomesticCarrierCodeFormattingRule().length() > 0) {
       // Replace the $CC in the formatting rule with the desired carrier code.
-      String carrierCodeFormattingRule = formattingPattern.domesticCarrierCodeFormattingRule;
+      String carrierCodeFormattingRule = formattingPattern.getDomesticCarrierCodeFormattingRule();
       carrierCodeFormattingRule =
           CC_PATTERN.matcher(carrierCodeFormattingRule).replaceFirst(carrierCode);
       // Now replace the $FG in the formatting rule with the first group and the carrier code
@@ -1783,7 +1808,7 @@
       formattedNationalNumber = m.replaceAll(numberFormatRule);
     } else {
       // Use the national prefix formatting rule instead.
-      String nationalPrefixFormattingRule = formattingPattern.nationalPrefixFormattingRule;
+      String nationalPrefixFormattingRule = formattingPattern.getNationalPrefixFormattingRule();
       if (numberFormat == PhoneNumberFormat.NATIONAL &&
           nationalPrefixFormattingRule != null &&
           nationalPrefixFormattingRule.length() > 0) {
@@ -1819,6 +1844,62 @@
   }
 
   /**
+   * Gets an invalid number for the specified region. This is useful for unit-testing purposes,
+   * where you want to test what will happen with an invalid number. Note that the number that is
+   * returned will always be able to be parsed and will have the correct country code. It may also
+   * be a valid *short* number/code for this region. Validity checking such numbers is handled with
+   * {@link com.google.i18n.phonenumbers.ShortNumberInfo}.
+   *
+   * @param regionCode  the region for which an example number is needed
+   * @return  an invalid number for the specified region. Returns null when an unsupported region or
+   *     the region 001 (Earth) is passed in.
+   */
+  public PhoneNumber getInvalidExampleNumber(String regionCode) {
+    if (!isValidRegionCode(regionCode)) {
+      logger.log(Level.WARNING, "Invalid or unknown region code provided: " + regionCode);
+      return null;
+    }
+    // We start off with a valid fixed-line number since every country supports this. Alternatively
+    // we could start with a different number type, since fixed-line numbers typically have a wide
+    // breadth of valid number lengths and we may have to make it very short before we get an
+    // invalid number.
+    PhoneNumberDesc desc = getNumberDescByType(getMetadataForRegion(regionCode),
+        PhoneNumberType.FIXED_LINE);
+    if (!desc.hasExampleNumber()) {
+      // This shouldn't happen; we have a test for this.
+      return null;
+    }
+    String exampleNumber = desc.getExampleNumber();
+    // Try and make the number invalid. We do this by changing the length. We try reducing the
+    // length of the number, since currently no region has a number that is the same length as
+    // MIN_LENGTH_FOR_NSN. This is probably quicker than making the number longer, which is another
+    // alternative. We could also use the possible number pattern to extract the possible lengths of
+    // the number to make this faster, but this method is only for unit-testing so simplicity is
+    // preferred to performance.  We don't want to return a number that can't be parsed, so we check
+    // the number is long enough. We try all possible lengths because phone number plans often have
+    // overlapping prefixes so the number 123456 might be valid as a fixed-line number, and 12345 as
+    // a mobile number. It would be faster to loop in a different order, but we prefer numbers that
+    // look closer to real numbers (and it gives us a variety of different lengths for the resulting
+    // phone numbers - otherwise they would all be MIN_LENGTH_FOR_NSN digits long.)
+    for (int phoneNumberLength = exampleNumber.length() - 1;
+         phoneNumberLength >= MIN_LENGTH_FOR_NSN;
+         phoneNumberLength--) {
+      String numberToTry = exampleNumber.substring(0, phoneNumberLength);
+      try {
+        PhoneNumber possiblyValidNumber = parse(numberToTry, regionCode);
+        if (!isValidNumber(possiblyValidNumber)) {
+          return possiblyValidNumber;
+        }
+      } catch (NumberParseException e) {
+        // Shouldn't happen: we have already checked the length, we know example numbers have
+        // only valid digits, and we know the region code is fine.
+      }
+    }
+    // We have a test to check that this doesn't happen for any of our supported regions.
+    return null;
+  }
+
+  /**
    * Gets a valid number for the specified region and number type.
    *
    * @param regionCode  the region for which an example number is needed
@@ -1836,8 +1917,8 @@
     }
     PhoneNumberDesc desc = getNumberDescByType(getMetadataForRegion(regionCode), type);
     try {
-      if (!desc.exampleNumber.equals("")) {
-        return parse(desc.exampleNumber, regionCode);
+      if (desc.hasExampleNumber()) {
+        return parse(desc.getExampleNumber(), regionCode);
       }
     } catch (NumberParseException e) {
       logger.log(Level.SEVERE, e.toString());
@@ -1846,6 +1927,37 @@
   }
 
   /**
+   * Gets a valid number for the specified number type (it may belong to any country).
+   *
+   * @param type  the type of number that is needed
+   * @return  a valid number for the specified type. Returns null when the metadata
+   *     does not contain such information. This should only happen when no numbers of this type are
+   *     allocated anywhere in the world anymore.
+   */
+  public PhoneNumber getExampleNumberForType(PhoneNumberType type) {
+    for (String regionCode : getSupportedRegions()) {
+      PhoneNumber exampleNumber = getExampleNumberForType(regionCode, type);
+      if (exampleNumber != null) {
+        return exampleNumber;
+      }
+    }
+    // If there wasn't an example number for a region, try the non-geographical entities.
+    for (int countryCallingCode : getSupportedGlobalNetworkCallingCodes()) {
+      PhoneNumberDesc desc = getNumberDescByType(
+          getMetadataForNonGeographicalRegion(countryCallingCode), type);
+      try {
+        if (desc.hasExampleNumber()) {
+          return parse("+" + countryCallingCode + desc.getExampleNumber(), UNKNOWN_REGION);
+        }
+      } catch (NumberParseException e) {
+        logger.log(Level.SEVERE, e.toString());
+      }
+    }
+    // There are no example numbers of this type for any country in the library.
+    return null;
+  }
+
+  /**
    * Gets a valid number for the specified country calling code for a non-geographical entity.
    *
    * @param countryCallingCode  the country calling code for a non-geographical entity
@@ -1856,10 +1968,10 @@
   public PhoneNumber getExampleNumberForNonGeoEntity(int countryCallingCode) {
     PhoneMetadata metadata = getMetadataForNonGeographicalRegion(countryCallingCode);
     if (metadata != null) {
-      PhoneNumberDesc desc = metadata.generalDesc;
+      PhoneNumberDesc desc = metadata.getGeneralDesc();
       try {
-        if (!desc.exampleNumber.equals("")) {
-          return parse("+" + countryCallingCode + desc.exampleNumber, "ZZ");
+        if (desc.hasExampleNumber()) {
+          return parse("+" + countryCallingCode + desc.getExampleNumber(), UNKNOWN_REGION);
         }
       } catch (NumberParseException e) {
         logger.log(Level.SEVERE, e.toString());
@@ -1882,8 +1994,8 @@
       if (numberFormat == PhoneNumberFormat.RFC3966) {
         formattedNumber.append(RFC3966_EXTN_PREFIX).append(number.getExtension());
       } else {
-        if (!metadata.preferredExtnPrefix.equals("")) {
-          formattedNumber.append(metadata.preferredExtnPrefix).append(number.getExtension());
+        if (metadata.hasPreferredExtnPrefix()) {
+          formattedNumber.append(metadata.getPreferredExtnPrefix()).append(number.getExtension());
         } else {
           formattedNumber.append(DEFAULT_EXTN_PREFIX).append(number.getExtension());
         }
@@ -1894,28 +2006,28 @@
   PhoneNumberDesc getNumberDescByType(PhoneMetadata metadata, PhoneNumberType type) {
     switch (type) {
       case PREMIUM_RATE:
-        return metadata.premiumRate;
+        return metadata.getPremiumRate();
       case TOLL_FREE:
-        return metadata.tollFree;
+        return metadata.getTollFree();
       case MOBILE:
-        return metadata.mobile;
+        return metadata.getMobile();
       case FIXED_LINE:
       case FIXED_LINE_OR_MOBILE:
-        return metadata.fixedLine;
+        return metadata.getFixedLine();
       case SHARED_COST:
-        return metadata.sharedCost;
+        return metadata.getSharedCost();
       case VOIP:
-        return metadata.voip;
+        return metadata.getVoip();
       case PERSONAL_NUMBER:
-        return metadata.personalNumber;
+        return metadata.getPersonalNumber();
       case PAGER:
-        return metadata.pager;
+        return metadata.getPager();
       case UAN:
-        return metadata.uan;
+        return metadata.getUan();
       case VOICEMAIL:
-        return metadata.voicemail;
+        return metadata.getVoicemail();
       default:
-        return metadata.generalDesc;
+        return metadata.getGeneralDesc();
     }
   }
 
@@ -1936,48 +2048,48 @@
   }
 
   private PhoneNumberType getNumberTypeHelper(String nationalNumber, PhoneMetadata metadata) {
-    if (!isNumberMatchingDesc(nationalNumber, metadata.generalDesc)) {
+    if (!isNumberMatchingDesc(nationalNumber, metadata.getGeneralDesc())) {
       return PhoneNumberType.UNKNOWN;
     }
 
-    if (isNumberMatchingDesc(nationalNumber, metadata.premiumRate)) {
+    if (isNumberMatchingDesc(nationalNumber, metadata.getPremiumRate())) {
       return PhoneNumberType.PREMIUM_RATE;
     }
-    if (isNumberMatchingDesc(nationalNumber, metadata.tollFree)) {
+    if (isNumberMatchingDesc(nationalNumber, metadata.getTollFree())) {
       return PhoneNumberType.TOLL_FREE;
     }
-    if (isNumberMatchingDesc(nationalNumber, metadata.sharedCost)) {
+    if (isNumberMatchingDesc(nationalNumber, metadata.getSharedCost())) {
       return PhoneNumberType.SHARED_COST;
     }
-    if (isNumberMatchingDesc(nationalNumber, metadata.voip)) {
+    if (isNumberMatchingDesc(nationalNumber, metadata.getVoip())) {
       return PhoneNumberType.VOIP;
     }
-    if (isNumberMatchingDesc(nationalNumber, metadata.personalNumber)) {
+    if (isNumberMatchingDesc(nationalNumber, metadata.getPersonalNumber())) {
       return PhoneNumberType.PERSONAL_NUMBER;
     }
-    if (isNumberMatchingDesc(nationalNumber, metadata.pager)) {
+    if (isNumberMatchingDesc(nationalNumber, metadata.getPager())) {
       return PhoneNumberType.PAGER;
     }
-    if (isNumberMatchingDesc(nationalNumber, metadata.uan)) {
+    if (isNumberMatchingDesc(nationalNumber, metadata.getUan())) {
       return PhoneNumberType.UAN;
     }
-    if (isNumberMatchingDesc(nationalNumber, metadata.voicemail)) {
+    if (isNumberMatchingDesc(nationalNumber, metadata.getVoicemail())) {
       return PhoneNumberType.VOICEMAIL;
     }
 
-    boolean isFixedLine = isNumberMatchingDesc(nationalNumber, metadata.fixedLine);
+    boolean isFixedLine = isNumberMatchingDesc(nationalNumber, metadata.getFixedLine());
     if (isFixedLine) {
-      if (metadata.sameMobileAndFixedLinePattern) {
+      if (metadata.isSameMobileAndFixedLinePattern()) {
         return PhoneNumberType.FIXED_LINE_OR_MOBILE;
-      } else if (isNumberMatchingDesc(nationalNumber, metadata.mobile)) {
+      } else if (isNumberMatchingDesc(nationalNumber, metadata.getMobile())) {
         return PhoneNumberType.FIXED_LINE_OR_MOBILE;
       }
       return PhoneNumberType.FIXED_LINE;
     }
     // Otherwise, test to see if the number is mobile. Only do this if certain that the patterns for
     // mobile and fixed line aren't the same.
-    if (!metadata.sameMobileAndFixedLinePattern &&
-        isNumberMatchingDesc(nationalNumber, metadata.mobile)) {
+    if (!metadata.isSameMobileAndFixedLinePattern() &&
+        isNumberMatchingDesc(nationalNumber, metadata.getMobile())) {
       return PhoneNumberType.MOBILE;
     }
     return PhoneNumberType.UNKNOWN;
@@ -2003,14 +2115,14 @@
 
   boolean isNumberPossibleForDesc(String nationalNumber, PhoneNumberDesc numberDesc) {
     Matcher possibleNumberPatternMatcher =
-        regexCache.getPatternForRegex(numberDesc.possibleNumberPattern)
+        regexCache.getPatternForRegex(numberDesc.getPossibleNumberPattern())
             .matcher(nationalNumber);
     return possibleNumberPatternMatcher.matches();
   }
 
   boolean isNumberMatchingDesc(String nationalNumber, PhoneNumberDesc numberDesc) {
     Matcher nationalNumberPatternMatcher =
-        regexCache.getPatternForRegex(numberDesc.nationalNumberPattern)
+        regexCache.getPatternForRegex(numberDesc.getNationalNumberPattern())
             .matcher(nationalNumber);
     return isNumberPossibleForDesc(nationalNumber, numberDesc) &&
         nationalNumberPatternMatcher.matches();
@@ -2089,8 +2201,8 @@
       // If leadingDigits is present, use this. Otherwise, do full validation.
       // Metadata cannot be null because the region codes come from the country calling code map.
       PhoneMetadata metadata = getMetadataForRegion(regionCode);
-      if (!metadata.leadingDigits.equals("")) {
-        if (regexCache.getPatternForRegex(metadata.leadingDigits)
+      if (metadata.hasLeadingDigits()) {
+        if (regexCache.getPatternForRegex(metadata.getLeadingDigits())
                 .matcher(nationalNumber).lookingAt()) {
           return regionCode;
         }
@@ -2156,7 +2268,7 @@
     if (metadata == null) {
       throw new IllegalArgumentException("Invalid region code: " + regionCode);
     }
-    return metadata.countryCode;
+    return metadata.getCountryCode();
   }
 
   /**
@@ -2182,7 +2294,7 @@
                   + ") provided.");
       return null;
     }
-    String nationalPrefix = metadata.nationalPrefix;
+    String nationalPrefix = metadata.getNationalPrefix();
     // If no national prefix was found, we return null.
     if (nationalPrefix.length() == 0) {
       return null;
@@ -2216,7 +2328,7 @@
     if (mainMetadataForCallingCode == null) {
       return false;
     }
-    return mainMetadataForCallingCode.leadingZeroPossible;
+    return mainMetadataForCallingCode.isLeadingZeroPossible();
   }
 
   /**
@@ -2273,7 +2385,7 @@
    */
   private boolean isShorterThanPossibleNormalNumber(PhoneMetadata regionMetadata, String number) {
     Pattern possibleNumberPattern = regexCache.getPatternForRegex(
-        regionMetadata.generalDesc.possibleNumberPattern);
+        regionMetadata.getGeneralDesc().getPossibleNumberPattern());
     return testNumberLengthAgainstPattern(possibleNumberPattern, number) ==
         ValidationResult.TOO_SHORT;
   }
@@ -2313,7 +2425,7 @@
     // Metadata cannot be null because the country calling code is valid.
     PhoneMetadata metadata = getMetadataForRegionOrCallingCode(countryCode, regionCode);
     Pattern possibleNumberPattern =
-        regexCache.getPatternForRegex(metadata.generalDesc.possibleNumberPattern);
+        regexCache.getPatternForRegex(metadata.getGeneralDesc().getPossibleNumberPattern());
     return testNumberLengthAgainstPattern(possibleNumberPattern, nationalNumber);
   }
 
@@ -2445,7 +2557,7 @@
     // Set the default prefix to be something that will never match.
     String possibleCountryIddPrefix = "NonMatch";
     if (defaultRegionMetadata != null) {
-      possibleCountryIddPrefix = defaultRegionMetadata.internationalPrefix;
+      possibleCountryIddPrefix = defaultRegionMetadata.getInternationalPrefix();
     }
 
     CountryCodeSource countryCodeSource =
@@ -2473,19 +2585,19 @@
       // Check to see if the number starts with the country calling code for the default region. If
       // so, we remove the country calling code, and do some checks on the validity of the number
       // before and after.
-      int defaultCountryCode = defaultRegionMetadata.countryCode;
+      int defaultCountryCode = defaultRegionMetadata.getCountryCode();
       String defaultCountryCodeString = String.valueOf(defaultCountryCode);
       String normalizedNumber = fullNumber.toString();
       if (normalizedNumber.startsWith(defaultCountryCodeString)) {
         StringBuilder potentialNationalNumber =
             new StringBuilder(normalizedNumber.substring(defaultCountryCodeString.length()));
-        PhoneNumberDesc generalDesc = defaultRegionMetadata.generalDesc;
+        PhoneNumberDesc generalDesc = defaultRegionMetadata.getGeneralDesc();
         Pattern validNumberPattern =
-            regexCache.getPatternForRegex(generalDesc.nationalNumberPattern);
+            regexCache.getPatternForRegex(generalDesc.getNationalNumberPattern());
         maybeStripNationalPrefixAndCarrierCode(
             potentialNationalNumber, defaultRegionMetadata, null /* Don't need the carrier code */);
         Pattern possibleNumberPattern =
-            regexCache.getPatternForRegex(generalDesc.possibleNumberPattern);
+            regexCache.getPatternForRegex(generalDesc.getPossibleNumberPattern());
         // If the number was not valid before but is valid now, or if it was too long before, we
         // consider the number with the country calling code stripped to be a better result and
         // keep that instead.
@@ -2578,7 +2690,7 @@
   boolean maybeStripNationalPrefixAndCarrierCode(
       StringBuilder number, PhoneMetadata metadata, StringBuilder carrierCode) {
     int numberLength = number.length();
-    String possibleNationalPrefix = metadata.nationalPrefixForParsing;
+    String possibleNationalPrefix = metadata.getNationalPrefixForParsing();
     if (numberLength == 0 || possibleNationalPrefix.length() == 0) {
       // Early return for numbers of zero length.
       return false;
@@ -2587,14 +2699,14 @@
     Matcher prefixMatcher = regexCache.getPatternForRegex(possibleNationalPrefix).matcher(number);
     if (prefixMatcher.lookingAt()) {
       Pattern nationalNumberRule =
-          regexCache.getPatternForRegex(metadata.generalDesc.nationalNumberPattern);
+          regexCache.getPatternForRegex(metadata.getGeneralDesc().getNationalNumberPattern());
       // Check if the original number is viable.
       boolean isViableOriginalNumber = nationalNumberRule.matcher(number).matches();
       // prefixMatcher.group(numOfGroups) == null implies nothing was captured by the capturing
       // groups in possibleNationalPrefix; therefore, no transformation is necessary, and we just
       // remove the national prefix.
       int numOfGroups = prefixMatcher.groupCount();
-      String transformRule = metadata.nationalPrefixTransformRule;
+      String transformRule = metadata.getNationalPrefixTransformRule();
       if (transformRule == null || transformRule.length() == 0 ||
           prefixMatcher.group(numOfGroups) == null) {
         // If the original number was viable, and the resultant number is not, we return.
@@ -2670,10 +2782,18 @@
   }
 
   /**
-   * Parses a string and returns it in proto buffer format. This method will throw a
-   * {@link com.google.i18n.phonenumbers.NumberParseException} if the number is not considered to be
-   * a possible number. Note that validation of whether the number is actually a valid number for a
-   * particular region is not performed. This can be done separately with {@link #isValidNumber}.
+   * Parses a string and returns it as a phone number in proto buffer format. The method is quite
+   * lenient and looks for a number in the input text (raw input) and does not check whether the
+   * string is definitely only a phone number. To do this, it ignores punctuation and white-space,
+   * as well as any text before the number (e.g. a leading "Tel: ") and trims the non-number bits.
+   * It will accept a number in any format (E164, national, international etc), assuming it can be
+   * interpreted with the defaultRegion supplied. It also attempts to convert any alpha characters
+   * into digits if it thinks this is a vanity number of the type "1800 MICROSOFT".
+   *
+   * <p> This method will throw a {@link com.google.i18n.phonenumbers.NumberParseException} if the
+   * number is not considered to be a possible number. Note that validation of whether the number
+   * is actually a valid number for a particular region is not performed. This can be done
+   * separately with {@link #isValidNumber}.
    *
    * @param numberToParse     number that we are attempting to parse. This can contain formatting
    *                          such as +, ( and -, as well as a phone number extension. It can also
@@ -2685,9 +2805,10 @@
    *                          start with a '+' followed by the country calling code, then
    *                          "ZZ" or null can be supplied.
    * @return                  a phone number proto buffer filled with the parsed number
-   * @throws NumberParseException  if the string is not considered to be a viable phone number or if
-   *                               no default region was supplied and the number is not in
-   *                               international format (does not start with +)
+   * @throws NumberParseException  if the string is not considered to be a viable phone number (e.g.
+   *                               too few or too many digits) or if no default region was supplied
+   *                               and the number is not in international format (does not start
+   *                               with +)
    */
   public PhoneNumber parse(String numberToParse, String defaultRegion)
       throws NumberParseException {
@@ -2880,7 +3001,7 @@
       normalize(nationalNumber);
       normalizedNationalNumber.append(nationalNumber);
       if (defaultRegion != null) {
-        countryCode = regionMetadata.countryCode;
+        countryCode = regionMetadata.getCountryCode();
         phoneNumber.setCountryCode(countryCode);
       } else if (keepRawInput) {
         phoneNumber.clearCountryCodeSource();
@@ -3154,7 +3275,7 @@
       return true;
     }
     String nationalSignificantNumber = getNationalSignificantNumber(number);
-    return !isNumberMatchingDesc(nationalSignificantNumber, metadata.noInternationalDialling);
+    return !isNumberMatchingDesc(nationalSignificantNumber, metadata.getNoInternationalDialling());
   }
 
   /**
@@ -3170,6 +3291,6 @@
       logger.log(Level.WARNING, "Invalid or unknown region code provided: " + regionCode);
       return false;
     }
-    return metadata.mobileNumberPortableRegion;
+    return metadata.isMobileNumberPortableRegion();
   }
 }
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/Phonemetadata.java b/libphonenumber/src/com/google/i18n/phonenumbers/Phonemetadata.java
new file mode 100644
index 0000000..ac63ec6
--- /dev/null
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/Phonemetadata.java
@@ -0,0 +1,1119 @@
+/*
+ * Copyright (C) 2010 The Libphonenumber Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Definition of the class representing metadata for international telephone numbers. This class is
+ * hand created based on the class file compiled from phonemetadata.proto. Please refer to that file
+ * for detailed descriptions of the meaning of each field.
+ */
+
+package com.google.i18n.phonenumbers;
+
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
+public final class Phonemetadata {
+  private Phonemetadata() {}
+  public static class NumberFormat implements Externalizable {
+    private static final long serialVersionUID = 1;
+    public NumberFormat() {}
+
+    /**
+     * Provides a dummy builder to 'emulate' the API of the code generated by the latest version of
+     * Protocol Buffers. This lets BuildMetadataFromXml class to build with both this hand created
+     * class and the one generated by the latest version of Protocol Buffers.
+     */
+    public static final class Builder extends NumberFormat {
+      public NumberFormat build() {
+        return this;
+      }
+    }
+
+    public static Builder newBuilder() {
+      return new Builder();
+    }
+
+    // required string pattern = 1;
+    private boolean hasPattern;
+    private String pattern_ = "";
+    public boolean hasPattern() { return hasPattern; }
+    public String getPattern() { return pattern_; }
+    public NumberFormat setPattern(String value) {
+      hasPattern = true;
+      pattern_ = value;
+      return this;
+    }
+
+    // required string format = 2;
+    private boolean hasFormat;
+    private String format_ = "";
+    public boolean hasFormat() { return hasFormat; }
+    public String getFormat() { return format_; }
+    public NumberFormat setFormat(String value) {
+      hasFormat = true;
+      format_ = value;
+      return this;
+    }
+
+    // repeated string leading_digits_pattern = 3;
+    private java.util.List<String> leadingDigitsPattern_ = new java.util.ArrayList<String>();
+    public java.util.List<String> leadingDigitPatterns() {
+      return leadingDigitsPattern_;
+    }
+    public int leadingDigitsPatternSize() { return leadingDigitsPattern_.size(); }
+    public String getLeadingDigitsPattern(int index) {
+      return leadingDigitsPattern_.get(index);
+    }
+    public NumberFormat addLeadingDigitsPattern(String value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      leadingDigitsPattern_.add(value);
+      return this;
+    }
+
+    // optional string national_prefix_formatting_rule = 4;
+    private boolean hasNationalPrefixFormattingRule;
+    private String nationalPrefixFormattingRule_ = "";
+    public boolean hasNationalPrefixFormattingRule() { return hasNationalPrefixFormattingRule; }
+    public String getNationalPrefixFormattingRule() { return nationalPrefixFormattingRule_; }
+    public NumberFormat setNationalPrefixFormattingRule(String value) {
+      hasNationalPrefixFormattingRule = true;
+      nationalPrefixFormattingRule_ = value;
+      return this;
+    }
+    public NumberFormat clearNationalPrefixFormattingRule() {
+      hasNationalPrefixFormattingRule = false;
+      nationalPrefixFormattingRule_ = "";
+      return this;
+    }
+
+    // optional bool national_prefix_optional_when_formatting = 6;
+    private boolean hasNationalPrefixOptionalWhenFormatting;
+    private boolean nationalPrefixOptionalWhenFormatting_ = false;
+    public boolean hasNationalPrefixOptionalWhenFormatting() {
+      return hasNationalPrefixOptionalWhenFormatting; }
+    public boolean isNationalPrefixOptionalWhenFormatting() {
+      return nationalPrefixOptionalWhenFormatting_; }
+    public NumberFormat setNationalPrefixOptionalWhenFormatting(boolean value) {
+      hasNationalPrefixOptionalWhenFormatting = true;
+      nationalPrefixOptionalWhenFormatting_ = value;
+      return this;
+    }
+
+    // optional string domestic_carrier_code_formatting_rule = 5;
+    private boolean hasDomesticCarrierCodeFormattingRule;
+    private String domesticCarrierCodeFormattingRule_ = "";
+    public boolean hasDomesticCarrierCodeFormattingRule() {
+      return hasDomesticCarrierCodeFormattingRule; }
+    public String getDomesticCarrierCodeFormattingRule() {
+      return domesticCarrierCodeFormattingRule_; }
+    public NumberFormat setDomesticCarrierCodeFormattingRule(String value) {
+      hasDomesticCarrierCodeFormattingRule = true;
+      domesticCarrierCodeFormattingRule_ = value;
+      return this;
+    }
+
+    public NumberFormat mergeFrom(NumberFormat other) {
+      if (other.hasPattern()) {
+        setPattern(other.getPattern());
+      }
+      if (other.hasFormat()) {
+        setFormat(other.getFormat());
+      }
+      int leadingDigitsPatternSize = other.leadingDigitsPatternSize();
+      for (int i = 0; i < leadingDigitsPatternSize; i++) {
+        addLeadingDigitsPattern(other.getLeadingDigitsPattern(i));
+      }
+      if (other.hasNationalPrefixFormattingRule()) {
+        setNationalPrefixFormattingRule(other.getNationalPrefixFormattingRule());
+      }
+      if (other.hasDomesticCarrierCodeFormattingRule()) {
+        setDomesticCarrierCodeFormattingRule(other.getDomesticCarrierCodeFormattingRule());
+      }
+      setNationalPrefixOptionalWhenFormatting(other.isNationalPrefixOptionalWhenFormatting());
+      return this;
+    }
+
+    public void writeExternal(ObjectOutput objectOutput) throws IOException {
+      objectOutput.writeUTF(pattern_);
+      objectOutput.writeUTF(format_);
+      int leadingDigitsPatternSize = leadingDigitsPatternSize();
+      objectOutput.writeInt(leadingDigitsPatternSize);
+      for (int i = 0; i < leadingDigitsPatternSize; i++) {
+        objectOutput.writeUTF(leadingDigitsPattern_.get(i));
+      }
+
+      objectOutput.writeBoolean(hasNationalPrefixFormattingRule);
+      if (hasNationalPrefixFormattingRule) {
+        objectOutput.writeUTF(nationalPrefixFormattingRule_);
+      }
+      objectOutput.writeBoolean(hasDomesticCarrierCodeFormattingRule);
+      if (hasDomesticCarrierCodeFormattingRule) {
+        objectOutput.writeUTF(domesticCarrierCodeFormattingRule_);
+      }
+      objectOutput.writeBoolean(nationalPrefixOptionalWhenFormatting_);
+    }
+
+    public void readExternal(ObjectInput objectInput) throws IOException {
+      setPattern(objectInput.readUTF());
+      setFormat(objectInput.readUTF());
+      int leadingDigitsPatternSize = objectInput.readInt();
+      for (int i = 0; i < leadingDigitsPatternSize; i++) {
+        leadingDigitsPattern_.add(objectInput.readUTF());
+      }
+      if (objectInput.readBoolean()) {
+        setNationalPrefixFormattingRule(objectInput.readUTF());
+      }
+      if (objectInput.readBoolean()) {
+        setDomesticCarrierCodeFormattingRule(objectInput.readUTF());
+      }
+      setNationalPrefixOptionalWhenFormatting(objectInput.readBoolean());
+    }
+  }
+
+  public static class PhoneNumberDesc implements Externalizable {
+    private static final long serialVersionUID = 1;
+    public PhoneNumberDesc() {}
+
+    /**
+     * Provides a dummy builder.
+     *
+     * @see NumberFormat.Builder
+     */
+    public static final class Builder extends PhoneNumberDesc {
+      public PhoneNumberDesc build() {
+        return this;
+      }
+    }
+    public static Builder newBuilder() {
+      return new Builder();
+    }
+
+    // optional string national_number_pattern = 2;
+    private boolean hasNationalNumberPattern;
+    private String nationalNumberPattern_ = "";
+    public boolean hasNationalNumberPattern() { return hasNationalNumberPattern; }
+    public String getNationalNumberPattern() { return nationalNumberPattern_; }
+    public PhoneNumberDesc setNationalNumberPattern(String value) {
+      hasNationalNumberPattern = true;
+      nationalNumberPattern_ = value;
+      return this;
+    }
+
+    // optional string possible_number_pattern = 3;
+    private boolean hasPossibleNumberPattern;
+    private String possibleNumberPattern_ = "";
+    public boolean hasPossibleNumberPattern() { return hasPossibleNumberPattern; }
+    public String getPossibleNumberPattern() { return possibleNumberPattern_; }
+    public PhoneNumberDesc setPossibleNumberPattern(String value) {
+      hasPossibleNumberPattern = true;
+      possibleNumberPattern_ = value;
+      return this;
+    }
+
+    // repeated int32 possible_length = 9;
+    private java.util.List<Integer> possibleLength_ = new java.util.ArrayList<Integer>();
+    public java.util.List<Integer> getPossibleLengthList() {
+      return possibleLength_;
+    }
+    public int getPossibleLengthCount() { return possibleLength_.size(); }
+    public int getPossibleLength(int index) {
+      return possibleLength_.get(index);
+    }
+    public PhoneNumberDesc addPossibleLength(int value) {
+      possibleLength_.add(value);
+      return this;
+    }
+    public PhoneNumberDesc clearPossibleLength() {
+      possibleLength_.clear();
+      return this;
+    }
+
+    // repeated int32 possible_length_local_only = 10;
+    private java.util.List<Integer> possibleLengthLocalOnly_ = new java.util.ArrayList<Integer>();
+    public java.util.List<Integer> getPossibleLengthLocalOnlyList() {
+      return possibleLengthLocalOnly_;
+    }
+    public int getPossibleLengthLocalOnlyCount() { return possibleLengthLocalOnly_.size(); }
+    public int getPossibleLengthLocalOnly(int index) {
+      return possibleLengthLocalOnly_.get(index);
+    }
+    public PhoneNumberDesc addPossibleLengthLocalOnly(int value) {
+      possibleLengthLocalOnly_.add(value);
+      return this;
+    }
+    public PhoneNumberDesc clearPossibleLengthLocalOnly() {
+      possibleLengthLocalOnly_.clear();
+      return this;
+    }
+
+    // optional string example_number = 6;
+    private boolean hasExampleNumber;
+    private String exampleNumber_ = "";
+    public boolean hasExampleNumber() { return hasExampleNumber; }
+    public String getExampleNumber() { return exampleNumber_; }
+    public PhoneNumberDesc setExampleNumber(String value) {
+      hasExampleNumber = true;
+      exampleNumber_ = value;
+      return this;
+    }
+
+    public PhoneNumberDesc mergeFrom(PhoneNumberDesc other) {
+      if (other.hasNationalNumberPattern()) {
+        setNationalNumberPattern(other.getNationalNumberPattern());
+      }
+      if (other.hasPossibleNumberPattern()) {
+        setPossibleNumberPattern(other.getPossibleNumberPattern());
+      }
+      for (int i = 0; i < other.getPossibleLengthCount(); i++) {
+        addPossibleLength(other.getPossibleLength(i));
+      }
+      for (int i = 0; i < other.getPossibleLengthLocalOnlyCount(); i++) {
+        addPossibleLengthLocalOnly(other.getPossibleLengthLocalOnly(i));
+      }
+      if (other.hasExampleNumber()) {
+        setExampleNumber(other.getExampleNumber());
+      }
+      return this;
+    }
+
+    public boolean exactlySameAs(PhoneNumberDesc other) {
+      return nationalNumberPattern_.equals(other.nationalNumberPattern_) &&
+          possibleNumberPattern_.equals(other.possibleNumberPattern_) &&
+          possibleLength_.equals(other.possibleLength_) &&
+          possibleLengthLocalOnly_.equals(other.possibleLengthLocalOnly_) &&
+          exampleNumber_.equals(other.exampleNumber_);
+    }
+
+    public void writeExternal(ObjectOutput objectOutput) throws IOException {
+      objectOutput.writeBoolean(hasNationalNumberPattern);
+      if (hasNationalNumberPattern) {
+        objectOutput.writeUTF(nationalNumberPattern_);
+      }
+
+      objectOutput.writeBoolean(hasPossibleNumberPattern);
+      if (hasPossibleNumberPattern) {
+        objectOutput.writeUTF(possibleNumberPattern_);
+      }
+
+      int possibleLengthSize = getPossibleLengthCount();
+      objectOutput.writeInt(possibleLengthSize);
+      for (int i = 0; i < possibleLengthSize; i++) {
+        objectOutput.writeInt(possibleLength_.get(i));
+      }
+
+      int possibleLengthLocalOnlySize = getPossibleLengthLocalOnlyCount();
+      objectOutput.writeInt(possibleLengthLocalOnlySize);
+      for (int i = 0; i < possibleLengthLocalOnlySize; i++) {
+        objectOutput.writeInt(possibleLengthLocalOnly_.get(i));
+      }
+
+      objectOutput.writeBoolean(hasExampleNumber);
+      if (hasExampleNumber) {
+        objectOutput.writeUTF(exampleNumber_);
+      }
+    }
+
+    public void readExternal(ObjectInput objectInput) throws IOException {
+      if (objectInput.readBoolean()) {
+        setNationalNumberPattern(objectInput.readUTF());
+      }
+
+      if (objectInput.readBoolean()) {
+        setPossibleNumberPattern(objectInput.readUTF());
+      }
+
+      int possibleLengthSize = objectInput.readInt();
+      for (int i = 0; i < possibleLengthSize; i++) {
+        possibleLength_.add(objectInput.readInt());
+      }
+
+      int possibleLengthLocalOnlySize = objectInput.readInt();
+      for (int i = 0; i < possibleLengthLocalOnlySize; i++) {
+        possibleLengthLocalOnly_.add(objectInput.readInt());
+      }
+
+      if (objectInput.readBoolean()) {
+        setExampleNumber(objectInput.readUTF());
+      }
+    }
+  }
+
+  public static class PhoneMetadata implements Externalizable {
+    private static final long serialVersionUID = 1;
+    public PhoneMetadata() {}
+
+    /**
+     * Provides a dummy builder.
+     *
+     * @see NumberFormat.Builder
+     */
+    public static final class Builder extends PhoneMetadata {
+      public PhoneMetadata build() {
+        return this;
+      }
+    }
+    public static Builder newBuilder() {
+      return new Builder();
+    }
+
+    // optional PhoneNumberDesc general_desc = 1;
+    private boolean hasGeneralDesc;
+    private PhoneNumberDesc generalDesc_ = null;
+    public boolean hasGeneralDesc() { return hasGeneralDesc; }
+    public PhoneNumberDesc getGeneralDesc() { return generalDesc_; }
+    public PhoneMetadata setGeneralDesc(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasGeneralDesc = true;
+      generalDesc_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc fixed_line = 2;
+    private boolean hasFixedLine;
+    private PhoneNumberDesc fixedLine_ = null;
+    public boolean hasFixedLine() { return hasFixedLine; }
+    public PhoneNumberDesc getFixedLine() { return fixedLine_; }
+    public PhoneMetadata setFixedLine(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasFixedLine = true;
+      fixedLine_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc mobile = 3;
+    private boolean hasMobile;
+    private PhoneNumberDesc mobile_ = null;
+    public boolean hasMobile() { return hasMobile; }
+    public PhoneNumberDesc getMobile() { return mobile_; }
+    public PhoneMetadata setMobile(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasMobile = true;
+      mobile_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc toll_free = 4;
+    private boolean hasTollFree;
+    private PhoneNumberDesc tollFree_ = null;
+    public boolean hasTollFree() { return hasTollFree; }
+    public PhoneNumberDesc getTollFree() { return tollFree_; }
+    public PhoneMetadata setTollFree(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasTollFree = true;
+      tollFree_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc premium_rate = 5;
+    private boolean hasPremiumRate;
+    private PhoneNumberDesc premiumRate_ = null;
+    public boolean hasPremiumRate() { return hasPremiumRate; }
+    public PhoneNumberDesc getPremiumRate() { return premiumRate_; }
+    public PhoneMetadata setPremiumRate(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasPremiumRate = true;
+      premiumRate_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc shared_cost = 6;
+    private boolean hasSharedCost;
+    private PhoneNumberDesc sharedCost_ = null;
+    public boolean hasSharedCost() { return hasSharedCost; }
+    public PhoneNumberDesc getSharedCost() { return sharedCost_; }
+    public PhoneMetadata setSharedCost(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasSharedCost = true;
+      sharedCost_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc personal_number = 7;
+    private boolean hasPersonalNumber;
+    private PhoneNumberDesc personalNumber_ = null;
+    public boolean hasPersonalNumber() { return hasPersonalNumber; }
+    public PhoneNumberDesc getPersonalNumber() { return personalNumber_; }
+    public PhoneMetadata setPersonalNumber(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasPersonalNumber = true;
+      personalNumber_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc voip = 8;
+    private boolean hasVoip;
+    private PhoneNumberDesc voip_ = null;
+    public boolean hasVoip() { return hasVoip; }
+    public PhoneNumberDesc getVoip() { return voip_; }
+    public PhoneMetadata setVoip(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasVoip = true;
+      voip_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc pager = 21;
+    private boolean hasPager;
+    private PhoneNumberDesc pager_ = null;
+    public boolean hasPager() { return hasPager; }
+    public PhoneNumberDesc getPager() { return pager_; }
+    public PhoneMetadata setPager(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasPager = true;
+      pager_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc uan = 25;
+    private boolean hasUan;
+    private PhoneNumberDesc uan_ = null;
+    public boolean hasUan() { return hasUan; }
+    public PhoneNumberDesc getUan() { return uan_; }
+    public PhoneMetadata setUan(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasUan = true;
+      uan_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc emergency = 27;
+    private boolean hasEmergency;
+    private PhoneNumberDesc emergency_ = null;
+    public boolean hasEmergency() { return hasEmergency; }
+    public PhoneNumberDesc getEmergency() { return emergency_; }
+    public PhoneMetadata setEmergency(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasEmergency = true;
+      emergency_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc voicemail = 28;
+    private boolean hasVoicemail;
+    private PhoneNumberDesc voicemail_ = null;
+    public boolean hasVoicemail() { return hasVoicemail; }
+    public PhoneNumberDesc getVoicemail() { return voicemail_; }
+    public PhoneMetadata setVoicemail(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasVoicemail = true;
+      voicemail_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc short_code = 29;
+    private boolean hasShortCode;
+    private PhoneNumberDesc shortCode_ = null;
+    public boolean hasShortCode() { return hasShortCode; }
+    public PhoneNumberDesc getShortCode() { return shortCode_; }
+    public PhoneMetadata setShortCode(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasShortCode = true;
+      shortCode_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc standard_rate = 30;
+    private boolean hasStandardRate;
+    private PhoneNumberDesc standardRate_ = null;
+    public boolean hasStandardRate() { return hasStandardRate; }
+    public PhoneNumberDesc getStandardRate() { return standardRate_; }
+    public PhoneMetadata setStandardRate(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasStandardRate = true;
+      standardRate_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc carrier_specific = 31;
+    private boolean hasCarrierSpecific;
+    private PhoneNumberDesc carrierSpecific_ = null;
+    public boolean hasCarrierSpecific() { return hasCarrierSpecific; }
+    public PhoneNumberDesc getCarrierSpecific() { return carrierSpecific_; }
+    public PhoneMetadata setCarrierSpecific(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasCarrierSpecific = true;
+      carrierSpecific_ = value;
+      return this;
+    }
+
+    // optional PhoneNumberDesc noInternationalDialling = 24;
+    private boolean hasNoInternationalDialling;
+    private PhoneNumberDesc noInternationalDialling_ = null;
+    public boolean hasNoInternationalDialling() { return hasNoInternationalDialling; }
+    public PhoneNumberDesc getNoInternationalDialling() { return noInternationalDialling_; }
+    public PhoneMetadata setNoInternationalDialling(PhoneNumberDesc value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      hasNoInternationalDialling = true;
+      noInternationalDialling_ = value;
+      return this;
+    }
+
+    // required string id = 9;
+    private boolean hasId;
+    private String id_ = "";
+    public boolean hasId() { return hasId; }
+    public String getId() { return id_; }
+    public PhoneMetadata setId(String value) {
+      hasId = true;
+      id_ = value;
+      return this;
+    }
+
+    // optional int32 country_code = 10;
+    private boolean hasCountryCode;
+    private int countryCode_ = 0;
+    public boolean hasCountryCode() { return hasCountryCode; }
+    public int getCountryCode() { return countryCode_; }
+    public PhoneMetadata setCountryCode(int value) {
+      hasCountryCode = true;
+      countryCode_ = value;
+      return this;
+    }
+
+    // optional string international_prefix = 11;
+    private boolean hasInternationalPrefix;
+    private String internationalPrefix_ = "";
+    public boolean hasInternationalPrefix() { return hasInternationalPrefix; }
+    public String getInternationalPrefix() { return internationalPrefix_; }
+    public PhoneMetadata setInternationalPrefix(String value) {
+      hasInternationalPrefix = true;
+      internationalPrefix_ = value;
+      return this;
+    }
+
+    // optional string preferred_international_prefix = 17;
+    private boolean hasPreferredInternationalPrefix;
+    private String preferredInternationalPrefix_ = "";
+    public boolean hasPreferredInternationalPrefix() { return hasPreferredInternationalPrefix; }
+    public String getPreferredInternationalPrefix() { return preferredInternationalPrefix_; }
+    public PhoneMetadata setPreferredInternationalPrefix(String value) {
+      hasPreferredInternationalPrefix = true;
+      preferredInternationalPrefix_ = value;
+      return this;
+    }
+
+    // optional string national_prefix = 12;
+    private boolean hasNationalPrefix;
+    private String nationalPrefix_ = "";
+    public boolean hasNationalPrefix() { return hasNationalPrefix; }
+    public String getNationalPrefix() { return nationalPrefix_; }
+    public PhoneMetadata setNationalPrefix(String value) {
+      hasNationalPrefix = true;
+      nationalPrefix_ = value;
+      return this;
+    }
+
+    // optional string preferred_extn_prefix = 13;
+    private boolean hasPreferredExtnPrefix;
+    private String preferredExtnPrefix_ = "";
+    public boolean hasPreferredExtnPrefix() { return hasPreferredExtnPrefix; }
+    public String getPreferredExtnPrefix() { return preferredExtnPrefix_; }
+    public PhoneMetadata setPreferredExtnPrefix(String value) {
+      hasPreferredExtnPrefix = true;
+      preferredExtnPrefix_ = value;
+      return this;
+    }
+
+    // optional string national_prefix_for_parsing = 15;
+    private boolean hasNationalPrefixForParsing;
+    private String nationalPrefixForParsing_ = "";
+    public boolean hasNationalPrefixForParsing() { return hasNationalPrefixForParsing; }
+    public String getNationalPrefixForParsing() { return nationalPrefixForParsing_; }
+    public PhoneMetadata setNationalPrefixForParsing(String value) {
+      hasNationalPrefixForParsing = true;
+      nationalPrefixForParsing_ = value;
+      return this;
+    }
+
+    // optional string national_prefix_transform_rule = 16;
+    private boolean hasNationalPrefixTransformRule;
+    private String nationalPrefixTransformRule_ = "";
+    public boolean hasNationalPrefixTransformRule() { return hasNationalPrefixTransformRule; }
+    public String getNationalPrefixTransformRule() { return nationalPrefixTransformRule_; }
+    public PhoneMetadata setNationalPrefixTransformRule(String value) {
+      hasNationalPrefixTransformRule = true;
+      nationalPrefixTransformRule_ = value;
+      return this;
+    }
+
+    // optional bool same_mobile_and_fixed_line_pattern = 18 [default = false];
+    private boolean hasSameMobileAndFixedLinePattern;
+    private boolean sameMobileAndFixedLinePattern_ = false;
+    public boolean hasSameMobileAndFixedLinePattern() { return hasSameMobileAndFixedLinePattern; }
+    public boolean isSameMobileAndFixedLinePattern() { return sameMobileAndFixedLinePattern_; }
+    public PhoneMetadata setSameMobileAndFixedLinePattern(boolean value) {
+      hasSameMobileAndFixedLinePattern = true;
+      sameMobileAndFixedLinePattern_ = value;
+      return this;
+    }
+
+    // repeated NumberFormat number_format = 19;
+    private java.util.List<NumberFormat> numberFormat_ = new java.util.ArrayList<NumberFormat>();
+    public java.util.List<NumberFormat> numberFormats() {
+      return numberFormat_;
+    }
+    public int numberFormatSize() { return numberFormat_.size(); }
+    public NumberFormat getNumberFormat(int index) {
+      return numberFormat_.get(index);
+    }
+    public PhoneMetadata addNumberFormat(NumberFormat value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      numberFormat_.add(value);
+      return this;
+    }
+
+    // repeated NumberFormat intl_number_format = 20;
+    private java.util.List<NumberFormat> intlNumberFormat_ =
+        new java.util.ArrayList<NumberFormat>();
+    public java.util.List<NumberFormat> intlNumberFormats() {
+      return intlNumberFormat_;
+    }
+    public int intlNumberFormatSize() { return intlNumberFormat_.size(); }
+    public NumberFormat getIntlNumberFormat(int index) {
+      return intlNumberFormat_.get(index);
+    }
+
+    public PhoneMetadata addIntlNumberFormat(NumberFormat value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      intlNumberFormat_.add(value);
+      return this;
+    }
+    public PhoneMetadata clearIntlNumberFormat() {
+      intlNumberFormat_.clear();
+      return this;
+    }
+
+    // optional bool main_country_for_code = 22 [default = false];
+    private boolean hasMainCountryForCode;
+    private boolean mainCountryForCode_ = false;
+    public boolean hasMainCountryForCode() { return hasMainCountryForCode; }
+    public boolean isMainCountryForCode() { return mainCountryForCode_; }
+    // Method that lets this class have the same interface as the one generated by Protocol Buffers
+    // which is used by C++ build tools.
+    public boolean getMainCountryForCode() { return mainCountryForCode_; }
+    public PhoneMetadata setMainCountryForCode(boolean value) {
+      hasMainCountryForCode = true;
+      mainCountryForCode_ = value;
+      return this;
+    }
+
+    // optional string leading_digits = 23;
+    private boolean hasLeadingDigits;
+    private String leadingDigits_ = "";
+    public boolean hasLeadingDigits() { return hasLeadingDigits; }
+    public String getLeadingDigits() { return leadingDigits_; }
+    public PhoneMetadata setLeadingDigits(String value) {
+      hasLeadingDigits = true;
+      leadingDigits_ = value;
+      return this;
+    }
+
+    // optional bool leading_zero_possible = 26 [default = false];
+    private boolean hasLeadingZeroPossible;
+    private boolean leadingZeroPossible_ = false;
+    public boolean hasLeadingZeroPossible() { return hasLeadingZeroPossible; }
+    public boolean isLeadingZeroPossible() { return leadingZeroPossible_; }
+    public PhoneMetadata setLeadingZeroPossible(boolean value) {
+      hasLeadingZeroPossible = true;
+      leadingZeroPossible_ = value;
+      return this;
+    }
+
+    // optional bool mobile_number_portable_region = 32 [default = false];
+    private boolean hasMobileNumberPortableRegion;
+    private boolean mobileNumberPortableRegion_ = false;
+    public boolean hasMobileNumberPortableRegion() { return hasMobileNumberPortableRegion; }
+    public boolean isMobileNumberPortableRegion() { return mobileNumberPortableRegion_; }
+    public PhoneMetadata setMobileNumberPortableRegion(boolean value) {
+      hasMobileNumberPortableRegion = true;
+      mobileNumberPortableRegion_ = value;
+      return this;
+    }
+
+    public void writeExternal(ObjectOutput objectOutput) throws IOException {
+      objectOutput.writeBoolean(hasGeneralDesc);
+      if (hasGeneralDesc) {
+        generalDesc_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasFixedLine);
+      if (hasFixedLine) {
+        fixedLine_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasMobile);
+      if (hasMobile) {
+        mobile_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasTollFree);
+      if (hasTollFree) {
+        tollFree_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasPremiumRate);
+      if (hasPremiumRate) {
+        premiumRate_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasSharedCost);
+      if (hasSharedCost) {
+        sharedCost_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasPersonalNumber);
+      if (hasPersonalNumber) {
+        personalNumber_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasVoip);
+      if (hasVoip) {
+        voip_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasPager);
+      if (hasPager) {
+        pager_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasUan);
+      if (hasUan) {
+        uan_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasEmergency);
+      if (hasEmergency) {
+        emergency_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasVoicemail);
+      if (hasVoicemail) {
+        voicemail_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasShortCode);
+      if (hasShortCode) {
+        shortCode_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasStandardRate);
+      if (hasStandardRate) {
+        standardRate_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasCarrierSpecific);
+      if (hasCarrierSpecific) {
+        carrierSpecific_.writeExternal(objectOutput);
+      }
+      objectOutput.writeBoolean(hasNoInternationalDialling);
+      if (hasNoInternationalDialling) {
+        noInternationalDialling_.writeExternal(objectOutput);
+      }
+
+      objectOutput.writeUTF(id_);
+      objectOutput.writeInt(countryCode_);
+      objectOutput.writeUTF(internationalPrefix_);
+
+      objectOutput.writeBoolean(hasPreferredInternationalPrefix);
+      if (hasPreferredInternationalPrefix) {
+        objectOutput.writeUTF(preferredInternationalPrefix_);
+      }
+
+      objectOutput.writeBoolean(hasNationalPrefix);
+      if (hasNationalPrefix) {
+        objectOutput.writeUTF(nationalPrefix_);
+      }
+
+      objectOutput.writeBoolean(hasPreferredExtnPrefix);
+      if (hasPreferredExtnPrefix) {
+        objectOutput.writeUTF(preferredExtnPrefix_);
+      }
+
+      objectOutput.writeBoolean(hasNationalPrefixForParsing);
+      if (hasNationalPrefixForParsing) {
+        objectOutput.writeUTF(nationalPrefixForParsing_);
+      }
+
+      objectOutput.writeBoolean(hasNationalPrefixTransformRule);
+      if (hasNationalPrefixTransformRule) {
+        objectOutput.writeUTF(nationalPrefixTransformRule_);
+      }
+
+      objectOutput.writeBoolean(sameMobileAndFixedLinePattern_);
+
+      int numberFormatSize = numberFormatSize();
+      objectOutput.writeInt(numberFormatSize);
+      for (int i = 0; i < numberFormatSize; i++) {
+        numberFormat_.get(i).writeExternal(objectOutput);
+      }
+
+      int intlNumberFormatSize = intlNumberFormatSize();
+      objectOutput.writeInt(intlNumberFormatSize);
+      for (int i = 0; i < intlNumberFormatSize; i++) {
+        intlNumberFormat_.get(i).writeExternal(objectOutput);
+      }
+
+      objectOutput.writeBoolean(mainCountryForCode_);
+
+      objectOutput.writeBoolean(hasLeadingDigits);
+      if (hasLeadingDigits) {
+        objectOutput.writeUTF(leadingDigits_);
+      }
+
+      objectOutput.writeBoolean(leadingZeroPossible_);
+
+      objectOutput.writeBoolean(mobileNumberPortableRegion_);
+    }
+
+    public void readExternal(ObjectInput objectInput) throws IOException {
+      boolean hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setGeneralDesc(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setFixedLine(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setMobile(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setTollFree(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setPremiumRate(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setSharedCost(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setPersonalNumber(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setVoip(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setPager(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setUan(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setEmergency(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setVoicemail(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setShortCode(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setStandardRate(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setCarrierSpecific(desc);
+      }
+      hasDesc = objectInput.readBoolean();
+      if (hasDesc) {
+        PhoneNumberDesc desc = new PhoneNumberDesc();
+        desc.readExternal(objectInput);
+        setNoInternationalDialling(desc);
+      }
+
+      setId(objectInput.readUTF());
+      setCountryCode(objectInput.readInt());
+      setInternationalPrefix(objectInput.readUTF());
+
+      boolean hasString = objectInput.readBoolean();
+      if (hasString) {
+        setPreferredInternationalPrefix(objectInput.readUTF());
+      }
+
+      hasString = objectInput.readBoolean();
+      if (hasString) {
+        setNationalPrefix(objectInput.readUTF());
+      }
+
+      hasString = objectInput.readBoolean();
+      if (hasString) {
+        setPreferredExtnPrefix(objectInput.readUTF());
+      }
+
+      hasString = objectInput.readBoolean();
+      if (hasString) {
+        setNationalPrefixForParsing(objectInput.readUTF());
+      }
+
+      hasString = objectInput.readBoolean();
+      if (hasString) {
+        setNationalPrefixTransformRule(objectInput.readUTF());
+      }
+
+      setSameMobileAndFixedLinePattern(objectInput.readBoolean());
+
+      int nationalFormatSize = objectInput.readInt();
+      for (int i = 0; i < nationalFormatSize; i++) {
+        NumberFormat numFormat = new NumberFormat();
+        numFormat.readExternal(objectInput);
+        numberFormat_.add(numFormat);
+      }
+
+      int intlNumberFormatSize = objectInput.readInt();
+      for (int i = 0; i < intlNumberFormatSize; i++) {
+        NumberFormat numFormat = new NumberFormat();
+        numFormat.readExternal(objectInput);
+        intlNumberFormat_.add(numFormat);
+      }
+
+      setMainCountryForCode(objectInput.readBoolean());
+
+      hasString = objectInput.readBoolean();
+      if (hasString) {
+        setLeadingDigits(objectInput.readUTF());
+      }
+
+      setLeadingZeroPossible(objectInput.readBoolean());
+
+      setMobileNumberPortableRegion(objectInput.readBoolean());
+    }
+  }
+
+  public static class PhoneMetadataCollection implements Externalizable {
+    private static final long serialVersionUID = 1;
+    public PhoneMetadataCollection() {}
+
+    /**
+     * Provides a dummy builder.
+     *
+     * @see NumberFormat.Builder
+     */
+    public static final class Builder extends PhoneMetadataCollection {
+      public PhoneMetadataCollection build() {
+        return this;
+      }
+    }
+    public static Builder newBuilder() {
+      return new Builder();
+    }
+
+    // repeated PhoneMetadata metadata = 1;
+    private java.util.List<PhoneMetadata> metadata_ = new java.util.ArrayList<PhoneMetadata>();
+
+    public java.util.List<PhoneMetadata> getMetadataList() {
+      return metadata_;
+    }
+    public int getMetadataCount() { return metadata_.size(); }
+
+    public PhoneMetadataCollection addMetadata(PhoneMetadata value) {
+      if (value == null) {
+        throw new NullPointerException();
+      }
+      metadata_.add(value);
+      return this;
+    }
+
+    public void writeExternal(ObjectOutput objectOutput) throws IOException {
+      int size = getMetadataCount();
+      objectOutput.writeInt(size);
+      for (int i = 0; i < size; i++) {
+        metadata_.get(i).writeExternal(objectOutput);
+      }
+    }
+
+    public void readExternal(ObjectInput objectInput) throws IOException {
+      int size = objectInput.readInt();
+      for (int i = 0; i < size; i++) {
+        PhoneMetadata metadata = new PhoneMetadata();
+        metadata.readExternal(objectInput);
+        metadata_.add(metadata);
+      }
+    }
+
+    public PhoneMetadataCollection clear() {
+      metadata_.clear();
+      return this;
+    }
+  }
+}
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java b/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java
index fe5ca8f..abe800a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java
@@ -16,11 +16,11 @@
 
 package com.google.i18n.phonenumbers;
 
-import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
 import com.google.i18n.phonenumbers.internal.MatcherApi;
 import com.google.i18n.phonenumbers.internal.RegexBasedMatcher;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneNumberDesc;
+import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -130,7 +130,7 @@
     if (phoneMetadata == null) {
       return false;
     }
-    return matcherApi.matchesPossibleNumber(shortNumber, phoneMetadata.generalDesc);
+    return matcherApi.matchesPossibleNumber(shortNumber, phoneMetadata.getGeneralDesc());
   }
 
   /**
@@ -151,7 +151,7 @@
       return false;
     }
     return matcherApi.matchesPossibleNumber(getNationalSignificantNumber(number),
-        phoneMetadata.generalDesc);
+        phoneMetadata.getGeneralDesc());
   }
 
   /**
@@ -171,7 +171,7 @@
       if (phoneMetadata == null) {
         continue;
       }
-      if (matcherApi.matchesPossibleNumber(shortNumber, phoneMetadata.generalDesc)) {
+      if (matcherApi.matchesPossibleNumber(shortNumber, phoneMetadata.getGeneralDesc())) {
         return true;
       }
     }
@@ -199,11 +199,11 @@
     if (phoneMetadata == null) {
       return false;
     }
-    PhoneNumberDesc generalDesc = phoneMetadata.generalDesc;
+    PhoneNumberDesc generalDesc = phoneMetadata.getGeneralDesc();
     if (!matchesPossibleNumberAndNationalNumber(shortNumber, generalDesc)) {
       return false;
     }
-    PhoneNumberDesc shortNumberDesc = phoneMetadata.shortCode;
+    PhoneNumberDesc shortNumberDesc = phoneMetadata.getShortCode();
     return matchesPossibleNumberAndNationalNumber(shortNumber, shortNumberDesc);
   }
 
@@ -226,11 +226,11 @@
       return false;
     }
     String shortNumber = getNationalSignificantNumber(number);
-    PhoneNumberDesc generalDesc = phoneMetadata.generalDesc;
+    PhoneNumberDesc generalDesc = phoneMetadata.getGeneralDesc();
     if (!matchesPossibleNumberAndNationalNumber(shortNumber, generalDesc)) {
       return false;
     }
-    PhoneNumberDesc shortNumberDesc = phoneMetadata.shortCode;
+    PhoneNumberDesc shortNumberDesc = phoneMetadata.getShortCode();
     return matchesPossibleNumberAndNationalNumber(shortNumber, shortNumberDesc);
   }
 
@@ -292,13 +292,13 @@
 
     // The cost categories are tested in order of decreasing expense, since if for some reason the
     // patterns overlap the most expensive matching cost category should be returned.
-    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.premiumRate)) {
+    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.getPremiumRate())) {
       return ShortNumberCost.PREMIUM_RATE;
     }
-    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.standardRate)) {
+    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.getStandardRate())) {
       return ShortNumberCost.STANDARD_RATE;
     }
-    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.tollFree)) {
+    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.getTollFree())) {
       return ShortNumberCost.TOLL_FREE;
     }
     if (isEmergencyNumber(shortNumber, regionDialingFrom)) {
@@ -346,13 +346,13 @@
 
     // The cost categories are tested in order of decreasing expense, since if for some reason the
     // patterns overlap the most expensive matching cost category should be returned.
-    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.premiumRate)) {
+    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.getPremiumRate())) {
       return ShortNumberCost.PREMIUM_RATE;
     }
-    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.standardRate)) {
+    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.getStandardRate())) {
       return ShortNumberCost.STANDARD_RATE;
     }
-    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.tollFree)) {
+    if (matchesPossibleNumberAndNationalNumber(shortNumber, phoneMetadata.getTollFree())) {
       return ShortNumberCost.TOLL_FREE;
     }
     if (isEmergencyNumber(shortNumber, regionDialingFrom)) {
@@ -429,7 +429,7 @@
     for (String regionCode : regionCodes) {
       PhoneMetadata phoneMetadata = MetadataManager.getShortNumberMetadataForRegion(regionCode);
       if (phoneMetadata != null
-          && matchesPossibleNumberAndNationalNumber(nationalNumber, phoneMetadata.shortCode)) {
+          && matchesPossibleNumberAndNationalNumber(nationalNumber, phoneMetadata.getShortCode())) {
         // The number is valid for this region.
         return regionCode;
       }
@@ -457,9 +457,9 @@
     if (phoneMetadata == null) {
       return "";
     }
-    PhoneNumberDesc desc = phoneMetadata.shortCode;
-    if (!desc.exampleNumber.equals("")) {
-      return desc.exampleNumber;
+    PhoneNumberDesc desc = phoneMetadata.getShortCode();
+    if (desc.hasExampleNumber()) {
+      return desc.getExampleNumber();
     }
     return "";
   }
@@ -481,20 +481,20 @@
     PhoneNumberDesc desc = null;
     switch (cost) {
       case TOLL_FREE:
-        desc = phoneMetadata.tollFree;
+        desc = phoneMetadata.getTollFree();
         break;
       case STANDARD_RATE:
-        desc = phoneMetadata.standardRate;
+        desc = phoneMetadata.getStandardRate();
         break;
       case PREMIUM_RATE:
-        desc = phoneMetadata.premiumRate;
+        desc = phoneMetadata.getPremiumRate();
         break;
       default:
         // UNKNOWN_COST numbers are computed by the process of elimination from the other cost
         // categories.
     }
-    if (desc != null && !desc.exampleNumber.equals("")) {
-      return desc.exampleNumber;
+    if (desc != null && desc.hasExampleNumber()) {
+      return desc.getExampleNumber();
     }
     return "";
   }
@@ -543,12 +543,12 @@
       return false;
     }
     PhoneMetadata metadata = MetadataManager.getShortNumberMetadataForRegion(regionCode);
-    if (metadata == null || metadata.emergency == null) {
+    if (metadata == null || !metadata.hasEmergency()) {
       return false;
     }
 
     String normalizedNumber = PhoneNumberUtil.normalizeDigitsOnly(number);
-    PhoneNumberDesc emergencyDesc = metadata.emergency;
+    PhoneNumberDesc emergencyDesc = metadata.getEmergency();
     boolean allowPrefixMatchForRegion =
         allowPrefixMatch && !REGIONS_WHERE_EMERGENCY_NUMBERS_MUST_BE_EXACT.contains(regionCode);
     return matcherApi.matchesNationalNumber(normalizedNumber, emergencyDesc,
@@ -572,7 +572,7 @@
     PhoneMetadata phoneMetadata = MetadataManager.getShortNumberMetadataForRegion(regionCode);
     return (phoneMetadata != null)
         && (matchesPossibleNumberAndNationalNumber(nationalNumber,
-                phoneMetadata.carrierSpecific));
+                phoneMetadata.getCarrierSpecific()));
   }
 
   /**
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/SingleFileMetadataSourceImpl.java b/libphonenumber/src/com/google/i18n/phonenumbers/SingleFileMetadataSourceImpl.java
index b89c234..9062ef4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/SingleFileMetadataSourceImpl.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/SingleFileMetadataSourceImpl.java
@@ -16,17 +16,14 @@
 
 package com.google.i18n.phonenumbers;
 
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadataCollection;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadataCollection;
 
-import java.io.IOException;
 import java.io.InputStream;
-import java.io.ObjectInputStream;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.logging.Level;
 import java.util.logging.Logger;
 
 /**
@@ -97,58 +94,28 @@
   void loadMetadataFromFile() {
     InputStream source = metadataLoader.loadMetadata(fileName);
     if (source == null) {
-      logger.log(Level.SEVERE, "missing metadata: " + fileName);
+      // This should not happen since clients shouldn't be using this implementation directly.
+      // The single file implementation is experimental, only for when the jars contain a single
+      // file with all regions' metadata. Currently we do not release such jars.
+      // TODO(b/30807096): Get the MetadataManager to decide whether to use this or the multi file
+      // loading depending on what data is available in the jar.
       throw new IllegalStateException("missing metadata: " + fileName);
     }
-    try {
-      PhoneMetadataCollection metadataCollection =
-          loadMetadataAndCloseInput(new ObjectInputStream(source));
-      PhoneMetadata[] metadataList = metadataCollection.metadata;
-      if (metadataList.length == 0) {
-        logger.log(Level.SEVERE, "empty metadata: " + fileName);
-        throw new IllegalStateException("empty metadata: " + fileName);
-      }
-      for (PhoneMetadata metadata : metadataList) {
-        String regionCode = metadata.id;
-        int countryCallingCode = metadata.countryCode;
-        boolean isNonGeoRegion = PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY.equals(regionCode);
-        if (isNonGeoRegion) {
-          countryCodeToNonGeographicalMetadataMap.put(countryCallingCode, metadata);
-        } else {
-          regionToMetadataMap.put(regionCode, metadata);
-        }
-      }
-    } catch (IOException e) {
-      logger.log(Level.SEVERE, "cannot load/parse metadata: " + fileName, e);
-      throw new RuntimeException("cannot load/parse metadata: " + fileName, e);
+    PhoneMetadataCollection metadataCollection = MetadataManager.loadMetadataAndCloseInput(source);
+    List<PhoneMetadata> metadataList = metadataCollection.getMetadataList();
+    if (metadataList.isEmpty()) {
+      // This should not happen since clients shouldn't be using this implementation!
+      throw new IllegalStateException("empty metadata: " + fileName);
     }
-  }
-
-  /**
-   * Loads the metadata protocol buffer from the given stream and closes the stream afterwards. Any
-   * exceptions that occur while reading or closing the stream are ignored.
-   *
-   * @param source  the non-null stream from which metadata is to be read.
-   * @return        the loaded metadata protocol buffer.
-   */
-  private static PhoneMetadataCollection loadMetadataAndCloseInput(ObjectInputStream source) {
-    // The size of the byte buffer for deserializing the single nano metadata file which holds
-    // metadata for all regions.
-    final int SINGLE_FILE_BUFFER_SIZE = 256 * 1024;
-
-    PhoneMetadataCollection metadataCollection = new PhoneMetadataCollection();
-    try {
-      metadataCollection.mergeFrom(
-          MetadataManager.convertStreamToByteBuffer(source, SINGLE_FILE_BUFFER_SIZE));
-    } catch (IOException e) {
-      logger.log(Level.WARNING, "error reading input (ignored)", e);
-    } finally {
-      try {
-        source.close();
-      } catch (IOException e) {
-        logger.log(Level.WARNING, "error closing input stream (ignored)", e);
+    for (PhoneMetadata metadata : metadataList) {
+      String regionCode = metadata.getId();
+      int countryCallingCode = metadata.getCountryCode();
+      boolean isNonGeoRegion = PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY.equals(regionCode);
+      if (isNonGeoRegion) {
+        countryCodeToNonGeographicalMetadataMap.put(countryCallingCode, metadata);
+      } else {
+        regionToMetadataMap.put(regionCode, metadata);
       }
     }
-    return metadataCollection;
   }
 }
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_255 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_255
index 7e32b2b..7c4f9da 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_255
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_255
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_27 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_27
index a8394f7..5ab6d03 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_27
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_27
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_30 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_30
index cfd7b37..4f6f50a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_30
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_30
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_31 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_31
index 82340de..1999488 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_31
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_31
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_34 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_34
index d0703f8..7c60d3d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_34
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_34
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_350 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_350
index 1ea3d71..e857d20 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_350
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_350
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_351 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_351
index bffda86..bd077e7 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_351
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_351
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_352 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_352
index 79b39e1..7ee05e9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_352
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_352
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_358 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_358
index 83951fb..dc7a5d1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_358
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_358
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_359 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_359
index fb48aa6..6431d10 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_359
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_359
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_36 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_36
index 0994e0d..9284fb1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_36
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_36
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_372 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_372
index 3f3689c..a16f968 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_372
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_372
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_373 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_373
index b9d0f47..6932076 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_373
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_373
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_380 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_380
index 7bd530d..ef96327 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_380
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_380
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_381 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_381
index b98f0b3..37654d4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_381
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_381
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_385 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_385
index a2f2fbe..c6d7913 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_385
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_385
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_43 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_43
index cab13d8..48addfe 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_43
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_43
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_44 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_44
index a5cdfdc..4864eeb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_44
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_44
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_49 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_49
index aca98ea..54cc030 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_49
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_49
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_505 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_505
index 437160a..f8b78ff 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_505
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_505
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_506 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_506
index 4be3816..1987a23 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_506
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_506
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_54 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_54
index fcd3a37..c401bf9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_54
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_54
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_55 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_55
index 490569e..a207595 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_55
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_55
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_58 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_58
index 07bd92e..da95139 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_58
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_58
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_595 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_595
index a2563d3..6020141 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_595
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_595
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_61 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_61
index 2ff5a99..7a0a3b8 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_61
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_61
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_62 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_62
index 3c04146..8763d3c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_62
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_62
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_63 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_63
index 0c434d1..84f5a53 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_63
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_63
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_66 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_66
index 3f59b7b..bcf3abb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_66
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_66
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_675 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_675
index b28f198..52d0a37 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_675
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_675
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_676 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_676
index b9a02bc..e7f5f11 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_676
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_676
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_679 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_679
index f799637..15209d2 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_679
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_679
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_7 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_7
index 74eba0d..5d72f0b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_7
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_7
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_81 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_81
index 5952533..efe9684 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_81
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_81
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_84 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_84
index bae5eaa..5c77233 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_84
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_84
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_855 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_855
index 8dc04db..e231e9d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_855
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_855
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_90 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_90
index 531b6e2..9475071 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_90
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_90
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_91 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_91
index 319d621..f63b8ec 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_91
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_91
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_94 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_94
index 931b3e5..6958435 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_94
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_94
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_95 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_95
index 50afc44..a672784 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_95
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_95
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_971 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_971
index 1cf408c..31d4fe0 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_971
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_971
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_972 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_972
index 6bdc92c..01d2cb9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_972
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_972
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_995 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_995
index 6e21214..81d6f13 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_995
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_995
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_800 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_800
index c8d5ffa..dd55173 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_800
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_800
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_808 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_808
index d17c8d6..8f434f2 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_808
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_808
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_870 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_870
index e8c082b..894b6cb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_870
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_870
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_878 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_878
index d58df56..d10e41f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_878
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_878
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_881 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_881
index ea9ef7e..1ae3e35 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_881
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_881
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_882 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_882
index ca49ff0..550e9a4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_882
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_882
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_883 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_883
index 88b8a5a..e0c66f1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_883
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_883
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_888 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_888
index 0cd763b..1bf712d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_888
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_888
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_979 b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_979
index 0929b3f..f5151be 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_979
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_979
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AC b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AC
index c1878bd..06d5961 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AD b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AD
index bfac111..78988b4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AE
index 3fed669..23a8e2d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AF b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AF
index a34ad96..1e38dd7 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AG
index 122a2d2..cf19f85 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AI
index c8decd9..2fb4737 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AL
index aa2ab6d..cc43beb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AM
index 38daaa1..6cd5015 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AO
index 133a93b..243033e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR
index e8d3d9c..1a91aa6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AS b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AS
index 1762bfd..030cf8e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AT
index 7b6813f..528c317 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AU
index e87facd..2c35e5d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AW
index bea4677..59edc86 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AX b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AX
index 3a0163b..32cd44f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AX
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AX
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ
index 32fcc1a..8051518 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BA
index 9f7ced8..550b49e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BB b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BB
index 07e1552..7cf8553 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BB
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BB
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD
index 81e9a79..349705c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE
index 9cab975..74370f9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF
index 1265ae9..45f03ec 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BG
index bda3990..36a59d3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH
index 7700513..9673208 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BI
index 1aa3e01..1a3442c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BJ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BJ
index ed13585..7bcf135 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BJ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BJ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BL
index 25c8318..fe4139a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BM
index 3165966..56c05de 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BN
index b8d9001..2af84ab 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BO
index a17a92b..025a261 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BQ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BQ
index 7825f44..9ee6d9f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BQ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BQ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BR
index 9d1f45c..f6d3a1f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BS b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BS
index 87b790b..440f624 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BT
index 4790935..21d1781 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BW
index d59df84..b95a873 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY
index 63c2062..7696797 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BZ
index f6ad5c1..3a9eaac 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA
index 690e6d8..ebb127a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CC b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CC
index b4fc272..6ce9013 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CD b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CD
index cf0004f..0a069ce 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CF b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CF
index 456b2a3..ddd2cdf 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CG
index f1cb4eb..d3e80da 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CH
index 144c6eb..f895299 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI
index 6c8e4ef..f4c1bd1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CK b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CK
index 0a2c5e8..8620374 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL
index 21f89d8..0f0b7c2 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CM
index 8d458be..c4c6ae1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN
index 6c3815b..fba893e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CO
index eba5a7b..96075d2 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CR
index 06034b7..ff2bfff 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CU
index 3883664..586226b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CV b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CV
index bea6d98..f285ad1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CV
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CV
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CW
index 96c787a..c0f8736 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CX b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CX
index 81e9a31..6da44fb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CX
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CX
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CY b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CY
index 8b1f9da..27df194 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ
index 4003d75..d888c3c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DE
index fbaad08..8594987 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DJ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DJ
index 0a69eb8..df52fa8 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DJ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DJ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK
index 0f0a954..b46f8ca 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DM
index 020d81b..0efc992 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DO
index 81cbb5a..a5f2ae3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DZ
index 93eb032..c90f9d5 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EC b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EC
index 9beb7d2..fa11c73 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EE
index 45c53c6..adf90fa 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EG
index f98dde2..abba494 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EH
index 5484012..fb7c7f4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ER b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ER
index b9f7028..3493c4a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ER
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ER
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES
index f31856e..c4d9889 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ET b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ET
index f26f873..a17b030 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ET
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ET
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FI
index 0da7692..ec2d958 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FJ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FJ
index 17da105..b47ac8f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FJ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FJ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FK b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FK
index 0b8ff8f..7792393 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FM
index ec4f634..c5bb164 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FO
index 2a3c8a4..a1735d3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR
index c27b007..c7bdc8a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GA
index 8513d52..a086ea1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GB b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GB
index d31f480..7f33b9b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GB
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GB
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GD b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GD
index 9116ebc..5922834 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GE
index 2754840..25412b4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GF b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GF
index 76ea09d..ff2ed91 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GG
index 17aa02e..2e79234 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GH
index 6f2a088..901d822 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GI
index 3fef301..8eabaa6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GL
index b9c885a..e4e91a3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GM
index 402e5e2..81bc9ce 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GN
index 357c2f0..305a0a3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GP b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GP
index 8799e47..019e38f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GP
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GP
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GQ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GQ
index bed4f18..be34bae 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GQ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GQ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR
index 010b08f..4a65521 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GT
index 0e66b7f..2451e16 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GU
index ec96aae..0c45ef6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GW
index 737b6eb..d4d061f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GY b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GY
index 6efcfab..9e4a059 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK
index aa348cb..d5b5a20 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HN
index b0f61db..9ae12b9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HR
index 8aab20b..addda3a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HT
index c8d1d5f..9fb5a7b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU
index ae834a8..cb1eb60 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ID b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ID
index a6f6d7c..844c4c5 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ID
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ID
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IE
index 0974614..b4d3a10 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL
index fa66a43..c3b0d2c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IM
index d03d54b..2e6cc68 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN
index 16ce805..233d969 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IO
index 7a0aff3..811ec9a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IQ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IQ
index e0ce0c2..020eb37 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IQ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IQ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR
index 1f4aa7c..80c3751 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IS b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IS
index 69c7840..60209c0 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT
index d40afae..312e16e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JE
index 8252564..7aa280c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JM
index 00b6fb7..d14f29c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO
index a06b3de..1762bcd 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP
index 3018755..617b85d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KE
index 3f090b0..859fc28 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KG
index 90c99e5..01c777d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KH
index d613ba5..51cd3d1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KI
index afdd07c..eef2315 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KM
index f77db73..4b50eb5 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KN
index 3de9458..b70a219 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KP b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KP
index ed9ca6d..eeb0d20 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KP
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KP
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR
index fbf6919..9558689 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW
index 11e2f67..68ff9bb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KY b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KY
index 58f8997..9516542 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KZ
index d27d765..2fd94d0 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LA
index 77b03c3..907e8ea 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LB b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LB
index e581024..30ef330 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LB
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LB
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LC b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LC
index bf87478..7963326 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI
index de0a7f3..9296aec 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LK b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LK
index 5229b08..7370f60 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LR
index e74f064..a67fb98 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LS b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LS
index 51e4436..fa569e2 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LT
index 293e570..c35889e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU
index 1a6159a..b45028c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV
index aff0d8a..67a9033 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LY b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LY
index 87d5b7b..d02ab18 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA
index faa1b92..b5779ac 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MC b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MC
index 7b21de8..55a213c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MD b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MD
index 0e181e2..ac53564 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ME b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ME
index c4752c7..0209cde 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ME
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ME
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MF b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MF
index 85534b9..1c41103 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MG
index 7c1109e..4be3862 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MH
index fe2f8ee..d22bc61 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MK b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MK
index 6d067e5..dfbf320 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ML b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ML
index f3da8d5..e6b2628 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ML
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ML
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM
index ce3c3a2..f55b9c1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MN
index 7fc3dc5..4dc239b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO
index 2c431d1..f302fb6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MP b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MP
index 1081bea..52e25b8 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MP
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MP
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MQ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MQ
index da0b569..874d136 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MQ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MQ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MR
index 6b3891e..7991488 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MS b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MS
index 97ea8ef..dc6aec1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MT
index 9f4ff69..33ed28d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU
index 8967440..b1afdc0 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MV b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MV
index 1864b4a..72ade39 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MV
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MV
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MW
index e10d74a..46ba716 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX
index 267bd72..9b7ed16 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MY b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MY
index 3c3a913..8cc82c0 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MZ
index ba7d762..30b630d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NA
index 84098ce..b4ad6c9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NC b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NC
index b4a00fc..9448ef1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NE
index ca1b880..94cfbd6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NF b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NF
index 2b8d8ca..fb7a27a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NG
index 0520cba..26c6a66 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NI
index a346663..d193df2 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NL
index e74d23e..dc3b99c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NO
index 643ca91..0789050 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NP b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NP
index fa21ba0..4cc0540 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NP
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NP
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NR
index ae7cff0..675edb2 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NU
index 2e2af52..7407a2c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ
index 2280bf8..ae8b310 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_OM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_OM
index e2ab69d..0b6614b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_OM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_OM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA
index 4ca001e..032e12d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PE
index 7130c27..21d246e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PF b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PF
index 6d78c6a..0f51df3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PG
index ca9dcba..d8e9fb6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PH
index c0cf364..7f74aea 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PK b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PK
index ebc0d91..7c95b37 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL
index ee40a83..8eebf08 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PM
index 3b54a74..84d8d00 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PR
index 1879c81..12de93d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PS b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PS
index 3f01149..7a4f449 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT
index e0478c0..7cdefab 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PW
index ed6d829..c78f3f8 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PY b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PY
index 3b44fa5..4c02300 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_QA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_QA
index 3394f13..3a80968 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_QA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_QA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RE
index 26dd0c4..8cdb151 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RO
index 01c62ca..7a5f675 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RS b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RS
index 709b19b..c671905 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RU
index 50a6e6c..f2e9dfc 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RW
index 2440e11..78c0c39 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SA
index f60c95d..7121f03 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB
index 860a62f..d4c4a1e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SC b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SC
index 0b8c108..c9ab7bf 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SD b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SD
index a483c1e..b1c1819 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SE
index fafe8d6..2b83aa5 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG
index 1c0e6a2..c176e1b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SH
index c8d6f82..c65b785 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SI
index 1d2b9e7..213809d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SJ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SJ
index 2a00642..d6b5da2 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SJ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SJ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SK b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SK
index c642a83..2e82522 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL
index f2f231b..b3bd72e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SM
index 6c2df8f..99abc50 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SN
index 83fe3a1..c930034 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SO
index bf98eef..0f3a491 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SR
index 9d3d88e..1cbadd0 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SS b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SS
index d6ab393..22af291 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ST b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ST
index 1736256..4b02e5d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ST
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ST
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SV b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SV
index fbc8cd6..06e019d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SV
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SV
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SX b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SX
index 80ae038..57c5acd 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SX
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SX
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SY b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SY
index f61fd9d..d099d14 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SZ
index 3fccaea..06ee7a6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TA
index 5359335..94ea084 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TC b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TC
index 5e04501..eb21bba 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TD b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TD
index 546dd98..c48135b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TG
index cd6d88d..0e293cb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TH
index 415a87d..e6950ed 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TJ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TJ
index 43b8acc..c33fdda 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TJ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TJ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TK b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TK
index 3b216e7..b78c16f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TL
index 2afdf56..4b98126 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TM
index daa2625..3423cdb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TN
index 4eece03..f619fc0 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TO
index fe9ea53..6022c49 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TR
index 55d9cdd..da11135 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT
index 75e974c..c5bdb72 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TV b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TV
index 3694730..8b5e370 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TV
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TV
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TW
index 77446e3..21e17d5 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TZ
index e520fee..fddf6c4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UA
index af44a6b..2c8b86c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG
index 99a5155..658338d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US
index a8fdf10..c85b9ae 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UY b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UY
index 3467720..b12ec52 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UZ
index 38273b6..fe87889 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VA
index e9484d1..bfa0356 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VC b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VC
index 17bc40e..bbd247f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VE
index a1a3ad9..3697e6b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VG
index e6da71b..6eb1fd8 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VI
index f04e574..8e83bdd 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VN
index 55c5d6c..9d9827d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VU
index 818cca8..fb52724 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WF b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WF
index 15de7fe..192f85b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WS b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WS
index 73fdc76..b68ec5b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YE
index 88b4749..acca926 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YT
index 1dc3dd4..5d99aab 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZA
index a0ba811..e9beec7 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZM
index e1d5544..a94420a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW
index 0b35a04..40e4fd9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AC b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AC
index 74ffcdc..3dea590 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AD b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AD
index f24df33..a45bbb7 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AE
index fbcfefc..5bbc6df 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AF b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AF
index 3788b26..38212a3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AG
index 78ae869..975779f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AI
index e7e5bff..bd88c28 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AL b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AL
index 8ea4ce8..20aa7bb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AM
index 6352293..31e46c1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AO
index 310df7f..22ad3f6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AR
index 8a9daf1..3e57091 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AS b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AS
index a27ffe7..16b9fff 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AT b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AT
index 304c1a2..42feb96 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AU b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AU
index d209247..f572a64 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AW b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AW
index f3ffda4..79fc45c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AX b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AX
index 565fcb5..2aa1773 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AX
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AX
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AZ
index c3a7dc4..36f53ad 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BA
index 33520ea..48fb30d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BB b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BB
index 269b75b..7ed12a5 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BB
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BB
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BD b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BD
index a1983cf..89bb751 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BE
index 3701ff6..9f14fed 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BF b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BF
index bd050b3..7459997 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BG
index 8b926fb..db21062 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BH b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BH
index 662b7ae..48204d4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BI
index 5b3dec4..0c7a866 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BJ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BJ
index 3d5f8aa..cd723b6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BJ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BJ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BL b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BL
index 2f404c3..68e41a1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BM
index b373c20..dd6f8ef 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BN b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BN
index 02cabe0..fbfd8ec 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BO
index 22e7733..a63de67 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BQ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BQ
index a29dd56..77dd739 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BQ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BQ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BR
index 8072ac7..1dad637 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BS b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BS
index 66388d7..ed4609a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BT b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BT
index f290d2e..561d108 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BW b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BW
index 9760503..762ee4a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BY b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BY
index 8c7e33c..1e54cb1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BZ
index 4609c03..cf5d670 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CA
index 60321f5..601800a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CC b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CC
index 9f460e2..a95e63d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CD b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CD
index cdc4765..3129e02 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CF b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CF
index 13be56c..6e828c8 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CG
index a87dfd0..959f845 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CH b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CH
index fc732e0..1851523 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CI
index 0b01c4a..aafce89 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CK b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CK
index 2a9df3f..745dd90 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CL b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CL
index 6ace01a..01770d0 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CM
index e03b68f..c08c97e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CN b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CN
index 557fcdd..fc1e772 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CO
index 890d0df..ef1fa4e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CR
index d31a371..87e6559 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CU b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CU
index e6f3a6a..fbcc416 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CV b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CV
index d751c2d..998eebd 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CV
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CV
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CW b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CW
index 638e4ea..e3ae045 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CX b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CX
index 584ed68..42cf8d9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CX
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CX
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CY b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CY
index 87f0f0a..7822789 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CZ
index 6788fb6..15cc9db 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DE
index 15b5a22..d13b10e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DJ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DJ
index 9570d9a..d2e2cf7 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DJ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DJ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DK b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DK
index 0c51ece..a7feff7 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DM
index 2937e9f..a243358 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DO
index 02548a8..bed984d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DZ
index fffe170..8adb195 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_DZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EC b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EC
index dffb0c4..bd6fb37 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EE
index cf858b7..a2add07 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EG
index 16f946a..6c566a5 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EH b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EH
index 157e301..1fd543e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_EH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ER b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ER
index bd31d1a..8081979 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ER
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ER
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ES b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ES
index 9e33287..e346671 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ES
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ES
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ET b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ET
index 992d15f..de8a819 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ET
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ET
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FI
index ed0013e..b329404 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FJ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FJ
index 105990e..eb5053c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FJ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FJ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FK b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FK
index d06ee70..4fc96e6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FM
index c02c676..899f301 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FO
index 1032654..2f87ede 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FR
index 781a5a2..9cd45b1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_FR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GA
index 253da09..bcebdb3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GB b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GB
index 0567b72..85a8eae 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GB
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GB
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GD b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GD
index 42f73e8..57a9403 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GE
index 0f03548..d5f0078 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GF b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GF
index d064d4b..77ac382 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GG
index 525a43a..b69dbd6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GH b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GH
index b58fcf3..6899162 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GI
index 1ec43e2..5525f6d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GL b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GL
index 5d89ce5..bd1430e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GM
index 45580ca..f4e1dc9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GN b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GN
index d29e28c..6a4b36d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GP b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GP
index 0495da1..fb326ba 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GP
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GP
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GR
index 7e055f6..02040dd 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GT b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GT
index ad158a9..35a99a7 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GU b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GU
index 0f97192..fa65f3b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GW b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GW
index 2cdaa3c..2ad7386 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GY b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GY
index 727fd90..0725de1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HK b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HK
index ae9d337..fcca67f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HN b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HN
index dcfa8e5..c1d9108 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HR
index 5fe20b6..9ef49ea 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HT b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HT
index f20c956..32e3c8d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HU b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HU
index 26fb332..c06399a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ID b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ID
index b001a74..e725254 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ID
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ID
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IE
index b707978..70c05d5 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IL b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IL
index cf44a7c..826cc64 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IM
index 0f48665..a06e48d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IN b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IN
index 5672dc7..4a9ef2b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IQ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IQ
index a2b3e7d..1f9373f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IQ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IQ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IR
index 8ac0ca5..e0403a9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IS b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IS
index ff8b214..2fdf762 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IT b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IT
index a6d5e6a..7bcbdc2 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JE
index f1e1f5b..8fea286 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JM
index f531f3f..f5de2f5 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JO
index 6060674..38ea92b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JP b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JP
index 0a41f2b..08fff35 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JP
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_JP
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KE
index 67c2382..16e9161 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KG
index 645409a..e7bdf5b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KH b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KH
index 357e193..a8a9bd1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KI
index ad6ff09..80a0aa6 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KM
index f007b0b..35dadfc 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KN b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KN
index bed22fe..e737292 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KP b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KP
index e0108aa..5ce9364 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KP
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KP
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KR
index edb0da1..c87bb62 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KW b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KW
index b8d7ba7..b244645 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KY b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KY
index 2021fd6..a64d89c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KZ
index fdd1524..23ee572 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LA
index a0db8e7..6478104 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LB b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LB
index 461f785..1c5858a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LB
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LB
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LC b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LC
index dccb214..c3bb4cb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LI
index 75cbf63..64dbc28 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LK b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LK
index f7a3bf5..6e481a4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LR
index 865909b..3371005 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LS b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LS
index 1402e1b..8aa0744 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LT b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LT
index f24cd39..f50b892 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LU b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LU
index 73dfe0c..fc67477 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LV b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LV
index 55065ba..915764a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LV
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LV
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LY b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LY
index da6addd..39e3992 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MA
index b72a0cb..2b8d16b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MC b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MC
index 40b9d7b..529230d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MD b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MD
index 54c4b90..03634d1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ME b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ME
index 7fd5a28..8b82517 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ME
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ME
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MF b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MF
index b1fa010..6bd7e04 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MG
index 9fb191b..95e41da 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MH b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MH
index c0c0960..2b9ea51 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MK b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MK
index cf8e304..25f54dd 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ML b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ML
index 21b14db..0c82380 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ML
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ML
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MM
index 22ea722..fc113f3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MN b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MN
index 5ab339b..2119e3e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MO
index d152832..1040888 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MP b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MP
index a34c3f0..d8917d7 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MP
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MP
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MQ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MQ
index f6ec8c7..865d1e5 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MQ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MQ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MR
index e2c2542..01e47d0 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MS b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MS
index 38fb6c9..d50d673 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MT b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MT
index 4c923cb..aaebe77 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MU b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MU
index ab8083e..fbbc863 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MV b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MV
index 95dc6e3..d6b201a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MV
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MV
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MW b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MW
index 91bafcc..2838c13 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MX b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MX
index dc5de20..3d3f45d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MX
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MX
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MY b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MY
index e49f811..9f7e349 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MZ
index fbd9aff..8839ea3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NA
index e86b9ce..28d941b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NC b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NC
index 2c53891..d8ec9e1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NE
index d771aa1..6c98019 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NF b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NF
index 469c0aa..1b8e271 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NG
index 4765e57..24ecb77 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NI
index 0e64424..e87a268 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NL b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NL
index b7c82f6..e157570 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NO
index 8231890..6428caf 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NP b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NP
index f4b2a09..20cb1a8 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NP
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NP
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NR
index 5a471fd..fd5ca97 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NU b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NU
index e225d92..edf5155 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NZ
index ab3f525..e96a67e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_OM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_OM
index 01fb50d..8eb0071 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_OM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_OM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PA
index fbcf298..980d490 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PE
index d52f09d..6d7d8bb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PF b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PF
index 2bc0ee2..41ab3dc 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PG
index db09b2b..5b41c33 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PH b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PH
index c89463c..33ad6a0 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PK b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PK
index f0aa8a4..4abf46d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PL b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PL
index 3561642..0ae2514 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PM
index f4adb43..f2bfe1f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PR
index 0b237f0..a07a07b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PT b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PT
index cda1278..355988e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PW b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PW
index c6440cd..2b57a22 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PY b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PY
index b593049..3252647 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_QA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_QA
index 574a4f4..dd44334 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_QA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_QA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RE
index 924f838..19558ba 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RO
index 24e8a54..fc00dfa 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RS b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RS
index 8504886..ad8531b 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RU b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RU
index 71da753..d3559a9 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RW b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RW
index 1f02df8..54db815 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_RW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SA
index 1af3a30..24f9bdf 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SB b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SB
index f067ce0..a6a8b03 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SB
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SB
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SC b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SC
index 983acb8..f80964a 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SD b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SD
index 193fe6b..50e23e7 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SE
index 4dba0da..9eeff84 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SG
index 3b2ddf5..6c15300 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SH b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SH
index e7bf39c..a6af740 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SI
index fa6214f..65a3a5e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SJ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SJ
index 71d22bd..bfc5612 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SJ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SJ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SK b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SK
index a4cdcb5..d80bf27 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SK
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SK
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SL b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SL
index f4270f1..f4d57e1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SM
index 9957c8f..1d5ef4d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SN b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SN
index a5cd1c3..1902a56 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SO
index c5f6cdb..90b23de 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SR
index e7bae5d..10a3b01 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ST b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ST
index 097b246..d25e308 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ST
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ST
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SV b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SV
index 4b1f16d..11c9282 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SV
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SV
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SX b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SX
index afa6a86..53df316 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SX
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SX
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SY b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SY
index b2118eb..8638c3f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SZ
index fa0cba5..94d4b94 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TC b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TC
index 3f9db42..a3ece84 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TD b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TD
index 96aa8a1..760d211 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TD
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TD
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TG
index 16ed6c7..d7e1910 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TH b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TH
index 11b3296..9ff0ca4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TH
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TH
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TJ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TJ
index 51a8727..17e0c92 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TJ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TJ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TL b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TL
index 1dabb41..26cd38e 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TL
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TL
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TM
index ded3a7c..1c8ac3d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TN b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TN
index 992b371..9368cc4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TO
index 5a36936..a72b863 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TO
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TO
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TR
index 1bb4435..869c121 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TR
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TR
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TT b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TT
index 1c67e2b..0b71013 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TV b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TV
index 40e5310..4135f70 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TV
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TV
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TW b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TW
index 846f018..6dfce01 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TZ
index 0c67e67..1e0572d 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_TZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UA
index 58a31df..c10cb13 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UG
index b7b6839..c3a24b7 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_US b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_US
index 5b5cd66..9a3f862 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_US
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_US
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UY b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UY
index 7dc561d..79de6f8 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UY
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UY
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UZ
index febccc9..0d23be4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UZ
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_UZ
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VA
index a170b28..dfab49f 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VC b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VC
index b5b5458..23228e3 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VC
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VC
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VE
index e9a731e..0722459 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VG b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VG
index aac109b..7b22a38 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VG
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VG
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VI
index 5e6e6df..6cf7622 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VI
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VI
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VN b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VN
index 136a077..555e762 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VN
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VN
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VU b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VU
index a6ab9ee..d5efdac 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VU
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_VU
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_WF b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_WF
index fc5bcb2..d5675c7 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_WF
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_WF
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_WS b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_WS
index 686c189..e854522 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_WS
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_WS
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_YE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_YE
index dcdd8df..3d559e4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_YE
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_YE
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_YT b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_YT
index 60a6a33..026b340 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_YT
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_YT
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZA b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZA
index 2e639e0..c63b947 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZA
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZA
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZM b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZM
index f0e5edb..33083f1 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZM
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZM
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZW b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZW
index 77fcbd6..b6ebb29 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZW
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZW
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto b/libphonenumber/src/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto
deleted file mode 100644
index a6d902d..0000000
--- a/libphonenumber/src/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto
+++ /dev/null
Binary files differ
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/internal/MatcherApi.java b/libphonenumber/src/com/google/i18n/phonenumbers/internal/MatcherApi.java
index ac20136..38319cb 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/internal/MatcherApi.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/internal/MatcherApi.java
@@ -16,7 +16,7 @@
 
 package com.google.i18n.phonenumbers.internal;
 
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneNumberDesc;
 
 /**
  * Internal phonenumber matching API used to isolate the underlying implementation of the
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/internal/RegexBasedMatcher.java b/libphonenumber/src/com/google/i18n/phonenumbers/internal/RegexBasedMatcher.java
index b1e7a23..125a182 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/internal/RegexBasedMatcher.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/internal/RegexBasedMatcher.java
@@ -16,8 +16,8 @@
 
 package com.google.i18n.phonenumbers.internal;
 
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneNumberDesc;
 import com.google.i18n.phonenumbers.RegexCache;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc;
 
 import java.util.regex.Matcher;
 
@@ -38,7 +38,7 @@
   public boolean matchesNationalNumber(String nationalNumber, PhoneNumberDesc numberDesc,
       boolean allowPrefixMatch) {
     Matcher nationalNumberPatternMatcher = regexCache.getPatternForRegex(
-        numberDesc.nationalNumberPattern).matcher(nationalNumber);
+        numberDesc.getNationalNumberPattern()).matcher(nationalNumber);
     return nationalNumberPatternMatcher.matches()
         || (allowPrefixMatch && nationalNumberPatternMatcher.lookingAt());
   }
@@ -46,7 +46,7 @@
   // @Override
   public boolean matchesPossibleNumber(String nationalNumber, PhoneNumberDesc numberDesc) {
     Matcher possibleNumberPatternMatcher = regexCache.getPatternForRegex(
-        numberDesc.possibleNumberPattern).matcher(nationalNumber);
+        numberDesc.getPossibleNumberPattern()).matcher(nationalNumber);
     return possibleNumberPatternMatcher.matches();
   }
 }
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/nano/Phonemetadata.java b/libphonenumber/src/com/google/i18n/phonenumbers/nano/Phonemetadata.java
deleted file mode 100644
index abf4a67..0000000
--- a/libphonenumber/src/com/google/i18n/phonenumbers/nano/Phonemetadata.java
+++ /dev/null
@@ -1,1040 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-
-package com.google.i18n.phonenumbers.nano;
-
-@SuppressWarnings("hiding")
-public interface Phonemetadata {
-
-  public static final class NumberFormat extends
-      com.google.protobuf.nano.MessageNano {
-
-    private static volatile NumberFormat[] _emptyArray;
-    public static NumberFormat[] emptyArray() {
-      // Lazily initializes the empty array
-      if (_emptyArray == null) {
-        synchronized (
-            com.google.protobuf.nano.InternalNano.LAZY_INIT_LOCK) {
-          if (_emptyArray == null) {
-            _emptyArray = new NumberFormat[0];
-          }
-        }
-      }
-      return _emptyArray;
-    }
-
-    // required string pattern = 1;
-    public java.lang.String pattern;
-
-    // required string format = 2;
-    public java.lang.String format;
-
-    // repeated string leading_digits_pattern = 3;
-    public java.lang.String[] leadingDigitsPattern;
-
-    // optional string national_prefix_formatting_rule = 4;
-    public java.lang.String nationalPrefixFormattingRule;
-
-    // optional bool national_prefix_optional_when_formatting = 6;
-    public boolean nationalPrefixOptionalWhenFormatting;
-
-    // optional string domestic_carrier_code_formatting_rule = 5;
-    public java.lang.String domesticCarrierCodeFormattingRule;
-
-    public NumberFormat() {
-      clear();
-    }
-
-    public NumberFormat clear() {
-      pattern = "";
-      format = "";
-      leadingDigitsPattern = com.google.protobuf.nano.WireFormatNano.EMPTY_STRING_ARRAY;
-      nationalPrefixFormattingRule = "";
-      nationalPrefixOptionalWhenFormatting = false;
-      domesticCarrierCodeFormattingRule = "";
-      cachedSize = -1;
-      return this;
-    }
-
-    @Override
-    public void writeTo(com.google.protobuf.nano.CodedOutputByteBufferNano output)
-        throws java.io.IOException {
-      output.writeString(1, this.pattern);
-      output.writeString(2, this.format);
-      if (this.leadingDigitsPattern != null && this.leadingDigitsPattern.length > 0) {
-        for (int i = 0; i < this.leadingDigitsPattern.length; i++) {
-          java.lang.String element = this.leadingDigitsPattern[i];
-          if (element != null) {
-            output.writeString(3, element);
-          }
-        }
-      }
-      if (!this.nationalPrefixFormattingRule.equals("")) {
-        output.writeString(4, this.nationalPrefixFormattingRule);
-      }
-      if (!this.domesticCarrierCodeFormattingRule.equals("")) {
-        output.writeString(5, this.domesticCarrierCodeFormattingRule);
-      }
-      if (this.nationalPrefixOptionalWhenFormatting != false) {
-        output.writeBool(6, this.nationalPrefixOptionalWhenFormatting);
-      }
-      super.writeTo(output);
-    }
-
-    @Override
-    protected int computeSerializedSize() {
-      int size = super.computeSerializedSize();
-      size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeStringSize(1, this.pattern);
-      size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeStringSize(2, this.format);
-      if (this.leadingDigitsPattern != null && this.leadingDigitsPattern.length > 0) {
-        int dataCount = 0;
-        int dataSize = 0;
-        for (int i = 0; i < this.leadingDigitsPattern.length; i++) {
-          java.lang.String element = this.leadingDigitsPattern[i];
-          if (element != null) {
-            dataCount++;
-            dataSize += com.google.protobuf.nano.CodedOutputByteBufferNano
-                .computeStringSizeNoTag(element);
-          }
-        }
-        size += dataSize;
-        size += 1 * dataCount;
-      }
-      if (!this.nationalPrefixFormattingRule.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(4, this.nationalPrefixFormattingRule);
-      }
-      if (!this.domesticCarrierCodeFormattingRule.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(5, this.domesticCarrierCodeFormattingRule);
-      }
-      if (this.nationalPrefixOptionalWhenFormatting != false) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeBoolSize(6, this.nationalPrefixOptionalWhenFormatting);
-      }
-      return size;
-    }
-
-    @Override
-    public NumberFormat mergeFrom(
-            com.google.protobuf.nano.CodedInputByteBufferNano input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!com.google.protobuf.nano.WireFormatNano.parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            this.pattern = input.readString();
-            break;
-          }
-          case 18: {
-            this.format = input.readString();
-            break;
-          }
-          case 26: {
-            int arrayLength = com.google.protobuf.nano.WireFormatNano
-                .getRepeatedFieldArrayLength(input, 26);
-            int i = this.leadingDigitsPattern == null ? 0 : this.leadingDigitsPattern.length;
-            java.lang.String[] newArray = new java.lang.String[i + arrayLength];
-            if (i != 0) {
-              java.lang.System.arraycopy(this.leadingDigitsPattern, 0, newArray, 0, i);
-            }
-            for (; i < newArray.length - 1; i++) {
-              newArray[i] = input.readString();
-              input.readTag();
-            }
-            // Last one without readTag.
-            newArray[i] = input.readString();
-            this.leadingDigitsPattern = newArray;
-            break;
-          }
-          case 34: {
-            this.nationalPrefixFormattingRule = input.readString();
-            break;
-          }
-          case 42: {
-            this.domesticCarrierCodeFormattingRule = input.readString();
-            break;
-          }
-          case 48: {
-            this.nationalPrefixOptionalWhenFormatting = input.readBool();
-            break;
-          }
-        }
-      }
-    }
-
-    public static NumberFormat parseFrom(byte[] data)
-        throws com.google.protobuf.nano.InvalidProtocolBufferNanoException {
-      return com.google.protobuf.nano.MessageNano.mergeFrom(new NumberFormat(), data);
-    }
-
-    public static NumberFormat parseFrom(
-            com.google.protobuf.nano.CodedInputByteBufferNano input)
-        throws java.io.IOException {
-      return new NumberFormat().mergeFrom(input);
-    }
-  }
-
-  public static final class PhoneNumberDesc extends
-      com.google.protobuf.nano.MessageNano {
-
-    private static volatile PhoneNumberDesc[] _emptyArray;
-    public static PhoneNumberDesc[] emptyArray() {
-      // Lazily initializes the empty array
-      if (_emptyArray == null) {
-        synchronized (
-            com.google.protobuf.nano.InternalNano.LAZY_INIT_LOCK) {
-          if (_emptyArray == null) {
-            _emptyArray = new PhoneNumberDesc[0];
-          }
-        }
-      }
-      return _emptyArray;
-    }
-
-    // optional string national_number_pattern = 2;
-    public java.lang.String nationalNumberPattern;
-
-    // optional string possible_number_pattern = 3;
-    public java.lang.String possibleNumberPattern;
-
-    // optional string example_number = 6;
-    public java.lang.String exampleNumber;
-
-    public PhoneNumberDesc() {
-      clear();
-    }
-
-    public PhoneNumberDesc clear() {
-      nationalNumberPattern = "";
-      possibleNumberPattern = "";
-      exampleNumber = "";
-      cachedSize = -1;
-      return this;
-    }
-
-    @Override
-    public void writeTo(com.google.protobuf.nano.CodedOutputByteBufferNano output)
-        throws java.io.IOException {
-      if (!this.nationalNumberPattern.equals("")) {
-        output.writeString(2, this.nationalNumberPattern);
-      }
-      if (!this.possibleNumberPattern.equals("")) {
-        output.writeString(3, this.possibleNumberPattern);
-      }
-      if (!this.exampleNumber.equals("")) {
-        output.writeString(6, this.exampleNumber);
-      }
-      super.writeTo(output);
-    }
-
-    @Override
-    protected int computeSerializedSize() {
-      int size = super.computeSerializedSize();
-      if (!this.nationalNumberPattern.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(2, this.nationalNumberPattern);
-      }
-      if (!this.possibleNumberPattern.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(3, this.possibleNumberPattern);
-      }
-      if (!this.exampleNumber.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(6, this.exampleNumber);
-      }
-      return size;
-    }
-
-    @Override
-    public PhoneNumberDesc mergeFrom(
-            com.google.protobuf.nano.CodedInputByteBufferNano input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!com.google.protobuf.nano.WireFormatNano.parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 18: {
-            this.nationalNumberPattern = input.readString();
-            break;
-          }
-          case 26: {
-            this.possibleNumberPattern = input.readString();
-            break;
-          }
-          case 50: {
-            this.exampleNumber = input.readString();
-            break;
-          }
-        }
-      }
-    }
-
-    public static PhoneNumberDesc parseFrom(byte[] data)
-        throws com.google.protobuf.nano.InvalidProtocolBufferNanoException {
-      return com.google.protobuf.nano.MessageNano.mergeFrom(new PhoneNumberDesc(), data);
-    }
-
-    public static PhoneNumberDesc parseFrom(
-            com.google.protobuf.nano.CodedInputByteBufferNano input)
-        throws java.io.IOException {
-      return new PhoneNumberDesc().mergeFrom(input);
-    }
-  }
-
-  public static final class PhoneMetadata extends
-      com.google.protobuf.nano.MessageNano {
-
-    private static volatile PhoneMetadata[] _emptyArray;
-    public static PhoneMetadata[] emptyArray() {
-      // Lazily initializes the empty array
-      if (_emptyArray == null) {
-        synchronized (
-            com.google.protobuf.nano.InternalNano.LAZY_INIT_LOCK) {
-          if (_emptyArray == null) {
-            _emptyArray = new PhoneMetadata[0];
-          }
-        }
-      }
-      return _emptyArray;
-    }
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc general_desc = 1;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc generalDesc;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc fixed_line = 2;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc fixedLine;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc mobile = 3;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc mobile;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc toll_free = 4;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc tollFree;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc premium_rate = 5;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc premiumRate;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc shared_cost = 6;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc sharedCost;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc personal_number = 7;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc personalNumber;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc voip = 8;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc voip;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc pager = 21;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc pager;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc uan = 25;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc uan;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc emergency = 27;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc emergency;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc voicemail = 28;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc voicemail;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc short_code = 29;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc shortCode;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc standard_rate = 30;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc standardRate;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc carrier_specific = 31;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc carrierSpecific;
-
-    // optional .i18n.phonenumbers.PhoneNumberDesc no_international_dialling = 24;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc noInternationalDialling;
-
-    // required string id = 9;
-    public java.lang.String id;
-
-    // optional int32 country_code = 10;
-    public int countryCode;
-
-    // optional string international_prefix = 11;
-    public java.lang.String internationalPrefix;
-
-    // optional string preferred_international_prefix = 17;
-    public java.lang.String preferredInternationalPrefix;
-
-    // optional string national_prefix = 12;
-    public java.lang.String nationalPrefix;
-
-    // optional string preferred_extn_prefix = 13;
-    public java.lang.String preferredExtnPrefix;
-
-    // optional string national_prefix_for_parsing = 15;
-    public java.lang.String nationalPrefixForParsing;
-
-    // optional string national_prefix_transform_rule = 16;
-    public java.lang.String nationalPrefixTransformRule;
-
-    // optional bool same_mobile_and_fixed_line_pattern = 18 [default = false];
-    public boolean sameMobileAndFixedLinePattern;
-
-    // repeated .i18n.phonenumbers.NumberFormat number_format = 19;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat[] numberFormat;
-
-    // repeated .i18n.phonenumbers.NumberFormat intl_number_format = 20;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat[] intlNumberFormat;
-
-    // optional bool main_country_for_code = 22 [default = false];
-    public boolean mainCountryForCode;
-
-    // optional string leading_digits = 23;
-    public java.lang.String leadingDigits;
-
-    // optional bool leading_zero_possible = 26 [default = false];
-    public boolean leadingZeroPossible;
-
-    // optional bool mobile_number_portable_region = 32 [default = false];
-    public boolean mobileNumberPortableRegion;
-
-    public PhoneMetadata() {
-      clear();
-    }
-
-    public PhoneMetadata clear() {
-      generalDesc = null;
-      fixedLine = null;
-      mobile = null;
-      tollFree = null;
-      premiumRate = null;
-      sharedCost = null;
-      personalNumber = null;
-      voip = null;
-      pager = null;
-      uan = null;
-      emergency = null;
-      voicemail = null;
-      shortCode = null;
-      standardRate = null;
-      carrierSpecific = null;
-      noInternationalDialling = null;
-      id = "";
-      countryCode = 0;
-      internationalPrefix = "";
-      preferredInternationalPrefix = "";
-      nationalPrefix = "";
-      preferredExtnPrefix = "";
-      nationalPrefixForParsing = "";
-      nationalPrefixTransformRule = "";
-      sameMobileAndFixedLinePattern = false;
-      numberFormat = com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat.emptyArray();
-      intlNumberFormat = com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat.emptyArray();
-      mainCountryForCode = false;
-      leadingDigits = "";
-      leadingZeroPossible = false;
-      mobileNumberPortableRegion = false;
-      cachedSize = -1;
-      return this;
-    }
-
-    @Override
-    public void writeTo(com.google.protobuf.nano.CodedOutputByteBufferNano output)
-        throws java.io.IOException {
-      if (this.generalDesc != null) {
-        output.writeMessage(1, this.generalDesc);
-      }
-      if (this.fixedLine != null) {
-        output.writeMessage(2, this.fixedLine);
-      }
-      if (this.mobile != null) {
-        output.writeMessage(3, this.mobile);
-      }
-      if (this.tollFree != null) {
-        output.writeMessage(4, this.tollFree);
-      }
-      if (this.premiumRate != null) {
-        output.writeMessage(5, this.premiumRate);
-      }
-      if (this.sharedCost != null) {
-        output.writeMessage(6, this.sharedCost);
-      }
-      if (this.personalNumber != null) {
-        output.writeMessage(7, this.personalNumber);
-      }
-      if (this.voip != null) {
-        output.writeMessage(8, this.voip);
-      }
-      output.writeString(9, this.id);
-      if (this.countryCode != 0) {
-        output.writeInt32(10, this.countryCode);
-      }
-      if (!this.internationalPrefix.equals("")) {
-        output.writeString(11, this.internationalPrefix);
-      }
-      if (!this.nationalPrefix.equals("")) {
-        output.writeString(12, this.nationalPrefix);
-      }
-      if (!this.preferredExtnPrefix.equals("")) {
-        output.writeString(13, this.preferredExtnPrefix);
-      }
-      if (!this.nationalPrefixForParsing.equals("")) {
-        output.writeString(15, this.nationalPrefixForParsing);
-      }
-      if (!this.nationalPrefixTransformRule.equals("")) {
-        output.writeString(16, this.nationalPrefixTransformRule);
-      }
-      if (!this.preferredInternationalPrefix.equals("")) {
-        output.writeString(17, this.preferredInternationalPrefix);
-      }
-      if (this.sameMobileAndFixedLinePattern != false) {
-        output.writeBool(18, this.sameMobileAndFixedLinePattern);
-      }
-      if (this.numberFormat != null && this.numberFormat.length > 0) {
-        for (int i = 0; i < this.numberFormat.length; i++) {
-          com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat element = this.numberFormat[i];
-          if (element != null) {
-            output.writeMessage(19, element);
-          }
-        }
-      }
-      if (this.intlNumberFormat != null && this.intlNumberFormat.length > 0) {
-        for (int i = 0; i < this.intlNumberFormat.length; i++) {
-          com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat element = this.intlNumberFormat[i];
-          if (element != null) {
-            output.writeMessage(20, element);
-          }
-        }
-      }
-      if (this.pager != null) {
-        output.writeMessage(21, this.pager);
-      }
-      if (this.mainCountryForCode != false) {
-        output.writeBool(22, this.mainCountryForCode);
-      }
-      if (!this.leadingDigits.equals("")) {
-        output.writeString(23, this.leadingDigits);
-      }
-      if (this.noInternationalDialling != null) {
-        output.writeMessage(24, this.noInternationalDialling);
-      }
-      if (this.uan != null) {
-        output.writeMessage(25, this.uan);
-      }
-      if (this.leadingZeroPossible != false) {
-        output.writeBool(26, this.leadingZeroPossible);
-      }
-      if (this.emergency != null) {
-        output.writeMessage(27, this.emergency);
-      }
-      if (this.voicemail != null) {
-        output.writeMessage(28, this.voicemail);
-      }
-      if (this.shortCode != null) {
-        output.writeMessage(29, this.shortCode);
-      }
-      if (this.standardRate != null) {
-        output.writeMessage(30, this.standardRate);
-      }
-      if (this.carrierSpecific != null) {
-        output.writeMessage(31, this.carrierSpecific);
-      }
-      if (this.mobileNumberPortableRegion != false) {
-        output.writeBool(32, this.mobileNumberPortableRegion);
-      }
-      super.writeTo(output);
-    }
-
-    @Override
-    protected int computeSerializedSize() {
-      int size = super.computeSerializedSize();
-      if (this.generalDesc != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(1, this.generalDesc);
-      }
-      if (this.fixedLine != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(2, this.fixedLine);
-      }
-      if (this.mobile != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(3, this.mobile);
-      }
-      if (this.tollFree != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(4, this.tollFree);
-      }
-      if (this.premiumRate != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(5, this.premiumRate);
-      }
-      if (this.sharedCost != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(6, this.sharedCost);
-      }
-      if (this.personalNumber != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(7, this.personalNumber);
-      }
-      if (this.voip != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(8, this.voip);
-      }
-      size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeStringSize(9, this.id);
-      if (this.countryCode != 0) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeInt32Size(10, this.countryCode);
-      }
-      if (!this.internationalPrefix.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(11, this.internationalPrefix);
-      }
-      if (!this.nationalPrefix.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(12, this.nationalPrefix);
-      }
-      if (!this.preferredExtnPrefix.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(13, this.preferredExtnPrefix);
-      }
-      if (!this.nationalPrefixForParsing.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(15, this.nationalPrefixForParsing);
-      }
-      if (!this.nationalPrefixTransformRule.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(16, this.nationalPrefixTransformRule);
-      }
-      if (!this.preferredInternationalPrefix.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(17, this.preferredInternationalPrefix);
-      }
-      if (this.sameMobileAndFixedLinePattern != false) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeBoolSize(18, this.sameMobileAndFixedLinePattern);
-      }
-      if (this.numberFormat != null && this.numberFormat.length > 0) {
-        for (int i = 0; i < this.numberFormat.length; i++) {
-          com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat element = this.numberFormat[i];
-          if (element != null) {
-            size += com.google.protobuf.nano.CodedOutputByteBufferNano
-              .computeMessageSize(19, element);
-          }
-        }
-      }
-      if (this.intlNumberFormat != null && this.intlNumberFormat.length > 0) {
-        for (int i = 0; i < this.intlNumberFormat.length; i++) {
-          com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat element = this.intlNumberFormat[i];
-          if (element != null) {
-            size += com.google.protobuf.nano.CodedOutputByteBufferNano
-              .computeMessageSize(20, element);
-          }
-        }
-      }
-      if (this.pager != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(21, this.pager);
-      }
-      if (this.mainCountryForCode != false) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeBoolSize(22, this.mainCountryForCode);
-      }
-      if (!this.leadingDigits.equals("")) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeStringSize(23, this.leadingDigits);
-      }
-      if (this.noInternationalDialling != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(24, this.noInternationalDialling);
-      }
-      if (this.uan != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(25, this.uan);
-      }
-      if (this.leadingZeroPossible != false) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeBoolSize(26, this.leadingZeroPossible);
-      }
-      if (this.emergency != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(27, this.emergency);
-      }
-      if (this.voicemail != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(28, this.voicemail);
-      }
-      if (this.shortCode != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(29, this.shortCode);
-      }
-      if (this.standardRate != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(30, this.standardRate);
-      }
-      if (this.carrierSpecific != null) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-          .computeMessageSize(31, this.carrierSpecific);
-      }
-      if (this.mobileNumberPortableRegion != false) {
-        size += com.google.protobuf.nano.CodedOutputByteBufferNano
-            .computeBoolSize(32, this.mobileNumberPortableRegion);
-      }
-      return size;
-    }
-
-    @Override
-    public PhoneMetadata mergeFrom(
-            com.google.protobuf.nano.CodedInputByteBufferNano input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!com.google.protobuf.nano.WireFormatNano.parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            if (this.generalDesc == null) {
-              this.generalDesc = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.generalDesc);
-            break;
-          }
-          case 18: {
-            if (this.fixedLine == null) {
-              this.fixedLine = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.fixedLine);
-            break;
-          }
-          case 26: {
-            if (this.mobile == null) {
-              this.mobile = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.mobile);
-            break;
-          }
-          case 34: {
-            if (this.tollFree == null) {
-              this.tollFree = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.tollFree);
-            break;
-          }
-          case 42: {
-            if (this.premiumRate == null) {
-              this.premiumRate = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.premiumRate);
-            break;
-          }
-          case 50: {
-            if (this.sharedCost == null) {
-              this.sharedCost = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.sharedCost);
-            break;
-          }
-          case 58: {
-            if (this.personalNumber == null) {
-              this.personalNumber = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.personalNumber);
-            break;
-          }
-          case 66: {
-            if (this.voip == null) {
-              this.voip = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.voip);
-            break;
-          }
-          case 74: {
-            this.id = input.readString();
-            break;
-          }
-          case 80: {
-            this.countryCode = input.readInt32();
-            break;
-          }
-          case 90: {
-            this.internationalPrefix = input.readString();
-            break;
-          }
-          case 98: {
-            this.nationalPrefix = input.readString();
-            break;
-          }
-          case 106: {
-            this.preferredExtnPrefix = input.readString();
-            break;
-          }
-          case 122: {
-            this.nationalPrefixForParsing = input.readString();
-            break;
-          }
-          case 130: {
-            this.nationalPrefixTransformRule = input.readString();
-            break;
-          }
-          case 138: {
-            this.preferredInternationalPrefix = input.readString();
-            break;
-          }
-          case 144: {
-            this.sameMobileAndFixedLinePattern = input.readBool();
-            break;
-          }
-          case 154: {
-            int arrayLength = com.google.protobuf.nano.WireFormatNano
-                .getRepeatedFieldArrayLength(input, 154);
-            int i = this.numberFormat == null ? 0 : this.numberFormat.length;
-            com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat[] newArray =
-                new com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat[i + arrayLength];
-            if (i != 0) {
-              java.lang.System.arraycopy(this.numberFormat, 0, newArray, 0, i);
-            }
-            for (; i < newArray.length - 1; i++) {
-              newArray[i] = new com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat();
-              input.readMessage(newArray[i]);
-              input.readTag();
-            }
-            // Last one without readTag.
-            newArray[i] = new com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat();
-            input.readMessage(newArray[i]);
-            this.numberFormat = newArray;
-            break;
-          }
-          case 162: {
-            int arrayLength = com.google.protobuf.nano.WireFormatNano
-                .getRepeatedFieldArrayLength(input, 162);
-            int i = this.intlNumberFormat == null ? 0 : this.intlNumberFormat.length;
-            com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat[] newArray =
-                new com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat[i + arrayLength];
-            if (i != 0) {
-              java.lang.System.arraycopy(this.intlNumberFormat, 0, newArray, 0, i);
-            }
-            for (; i < newArray.length - 1; i++) {
-              newArray[i] = new com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat();
-              input.readMessage(newArray[i]);
-              input.readTag();
-            }
-            // Last one without readTag.
-            newArray[i] = new com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat();
-            input.readMessage(newArray[i]);
-            this.intlNumberFormat = newArray;
-            break;
-          }
-          case 170: {
-            if (this.pager == null) {
-              this.pager = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.pager);
-            break;
-          }
-          case 176: {
-            this.mainCountryForCode = input.readBool();
-            break;
-          }
-          case 186: {
-            this.leadingDigits = input.readString();
-            break;
-          }
-          case 194: {
-            if (this.noInternationalDialling == null) {
-              this.noInternationalDialling = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.noInternationalDialling);
-            break;
-          }
-          case 202: {
-            if (this.uan == null) {
-              this.uan = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.uan);
-            break;
-          }
-          case 208: {
-            this.leadingZeroPossible = input.readBool();
-            break;
-          }
-          case 218: {
-            if (this.emergency == null) {
-              this.emergency = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.emergency);
-            break;
-          }
-          case 226: {
-            if (this.voicemail == null) {
-              this.voicemail = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.voicemail);
-            break;
-          }
-          case 234: {
-            if (this.shortCode == null) {
-              this.shortCode = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.shortCode);
-            break;
-          }
-          case 242: {
-            if (this.standardRate == null) {
-              this.standardRate = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.standardRate);
-            break;
-          }
-          case 250: {
-            if (this.carrierSpecific == null) {
-              this.carrierSpecific = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc();
-            }
-            input.readMessage(this.carrierSpecific);
-            break;
-          }
-          case 256: {
-            this.mobileNumberPortableRegion = input.readBool();
-            break;
-          }
-        }
-      }
-    }
-
-    public static PhoneMetadata parseFrom(byte[] data)
-        throws com.google.protobuf.nano.InvalidProtocolBufferNanoException {
-      return com.google.protobuf.nano.MessageNano.mergeFrom(new PhoneMetadata(), data);
-    }
-
-    public static PhoneMetadata parseFrom(
-            com.google.protobuf.nano.CodedInputByteBufferNano input)
-        throws java.io.IOException {
-      return new PhoneMetadata().mergeFrom(input);
-    }
-  }
-
-  public static final class PhoneMetadataCollection extends
-      com.google.protobuf.nano.MessageNano {
-
-    private static volatile PhoneMetadataCollection[] _emptyArray;
-    public static PhoneMetadataCollection[] emptyArray() {
-      // Lazily initializes the empty array
-      if (_emptyArray == null) {
-        synchronized (
-            com.google.protobuf.nano.InternalNano.LAZY_INIT_LOCK) {
-          if (_emptyArray == null) {
-            _emptyArray = new PhoneMetadataCollection[0];
-          }
-        }
-      }
-      return _emptyArray;
-    }
-
-    // repeated .i18n.phonenumbers.PhoneMetadata metadata = 1;
-    public com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata[] metadata;
-
-    public PhoneMetadataCollection() {
-      clear();
-    }
-
-    public PhoneMetadataCollection clear() {
-      metadata = com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata.emptyArray();
-      cachedSize = -1;
-      return this;
-    }
-
-    @Override
-    public void writeTo(com.google.protobuf.nano.CodedOutputByteBufferNano output)
-        throws java.io.IOException {
-      if (this.metadata != null && this.metadata.length > 0) {
-        for (int i = 0; i < this.metadata.length; i++) {
-          com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata element = this.metadata[i];
-          if (element != null) {
-            output.writeMessage(1, element);
-          }
-        }
-      }
-      super.writeTo(output);
-    }
-
-    @Override
-    protected int computeSerializedSize() {
-      int size = super.computeSerializedSize();
-      if (this.metadata != null && this.metadata.length > 0) {
-        for (int i = 0; i < this.metadata.length; i++) {
-          com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata element = this.metadata[i];
-          if (element != null) {
-            size += com.google.protobuf.nano.CodedOutputByteBufferNano
-              .computeMessageSize(1, element);
-          }
-        }
-      }
-      return size;
-    }
-
-    @Override
-    public PhoneMetadataCollection mergeFrom(
-            com.google.protobuf.nano.CodedInputByteBufferNano input)
-        throws java.io.IOException {
-      while (true) {
-        int tag = input.readTag();
-        switch (tag) {
-          case 0:
-            return this;
-          default: {
-            if (!com.google.protobuf.nano.WireFormatNano.parseUnknownField(input, tag)) {
-              return this;
-            }
-            break;
-          }
-          case 10: {
-            int arrayLength = com.google.protobuf.nano.WireFormatNano
-                .getRepeatedFieldArrayLength(input, 10);
-            int i = this.metadata == null ? 0 : this.metadata.length;
-            com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata[] newArray =
-                new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata[i + arrayLength];
-            if (i != 0) {
-              java.lang.System.arraycopy(this.metadata, 0, newArray, 0, i);
-            }
-            for (; i < newArray.length - 1; i++) {
-              newArray[i] = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata();
-              input.readMessage(newArray[i]);
-              input.readTag();
-            }
-            // Last one without readTag.
-            newArray[i] = new com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata();
-            input.readMessage(newArray[i]);
-            this.metadata = newArray;
-            break;
-          }
-        }
-      }
-    }
-
-    public static PhoneMetadataCollection parseFrom(byte[] data)
-        throws com.google.protobuf.nano.InvalidProtocolBufferNanoException {
-      return com.google.protobuf.nano.MessageNano.mergeFrom(new PhoneMetadataCollection(), data);
-    }
-
-    public static PhoneMetadataCollection parseFrom(
-            com.google.protobuf.nano.CodedInputByteBufferNano input)
-        throws java.io.IOException {
-      return new PhoneMetadataCollection().mergeFrom(input);
-    }
-  }
-}
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/ExampleNumbersTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/ExampleNumbersTest.java
index 1365ac3..2591131 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/ExampleNumbersTest.java
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/ExampleNumbersTest.java
@@ -17,8 +17,8 @@
 package com.google.i18n.phonenumbers;
 
 import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberType;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneNumberDesc;
 import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc;
 
 import junit.framework.TestCase;
 
@@ -142,10 +142,10 @@
     for (String regionCode : phoneNumberUtil.getSupportedRegions()) {
       PhoneNumber exampleNumber = null;
       PhoneNumberDesc desc =
-          phoneNumberUtil.getMetadataForRegion(regionCode).noInternationalDialling;
+          phoneNumberUtil.getMetadataForRegion(regionCode).getNoInternationalDialling();
       try {
-        if (!desc.exampleNumber.equals("")) {
-          exampleNumber = phoneNumberUtil.parse(desc.exampleNumber, regionCode);
+        if (desc.hasExampleNumber()) {
+          exampleNumber = phoneNumberUtil.parse(desc.getExampleNumber(), regionCode);
         }
       } catch (NumberParseException e) {
         LOGGER.log(Level.SEVERE, e.toString());
@@ -175,7 +175,21 @@
   public void testEveryRegionHasAnExampleNumber() throws Exception {
     for (String regionCode : phoneNumberUtil.getSupportedRegions()) {
       PhoneNumber exampleNumber = phoneNumberUtil.getExampleNumber(regionCode);
-      assertNotNull("None found for region " + regionCode, exampleNumber);
+      assertNotNull("No example number found for region " + regionCode, exampleNumber);
+    }
+  }
+
+  public void testEveryRegionHasAnInvalidExampleNumber() throws Exception {
+    for (String regionCode : phoneNumberUtil.getSupportedRegions()) {
+      PhoneNumber exampleNumber = phoneNumberUtil.getInvalidExampleNumber(regionCode);
+      assertNotNull("No invalid example number found for region " + regionCode, exampleNumber);
+    }
+  }
+
+  public void testEveryTypeHasAnExampleNumber() throws Exception {
+    for (PhoneNumberUtil.PhoneNumberType type : PhoneNumberUtil.PhoneNumberType.values()) {
+      PhoneNumber exampleNumber = phoneNumberUtil.getExampleNumberForType(type);
+      assertNotNull("No example number found for type " + type, exampleNumber);
     }
   }
 
@@ -199,10 +213,14 @@
       for (ShortNumberInfo.ShortNumberCost cost : ShortNumberInfo.ShortNumberCost.values()) {
         exampleShortNumber = shortNumberInfo.getExampleShortNumberForCost(regionCode, cost);
         if (!exampleShortNumber.equals("")) {
-          if (cost != shortNumberInfo.getExpectedCostForRegion(
-              phoneNumberUtil.parse(exampleShortNumber, regionCode), regionCode)) {
+          phoneNumber = phoneNumberUtil.parse(exampleShortNumber, regionCode);
+          ShortNumberInfo.ShortNumberCost exampleShortNumberCost =
+              shortNumberInfo.getExpectedCostForRegion(phoneNumber, regionCode);
+          if (cost != exampleShortNumberCost) {
             wrongTypeCases.add(phoneNumber);
-            LOGGER.log(Level.SEVERE, "Wrong cost for " + phoneNumber.toString());
+            LOGGER.log(Level.SEVERE, "Wrong cost for " + phoneNumber.toString()
+                + ": got " + exampleShortNumberCost
+                + ", expected: " + cost);
           }
         }
       }
@@ -216,9 +234,9 @@
     int wrongTypeCounter = 0;
     for (String regionCode : shortNumberInfo.getSupportedRegions()) {
       PhoneNumberDesc desc =
-          MetadataManager.getShortNumberMetadataForRegion(regionCode).emergency;
-      if (!desc.exampleNumber.equals("")) {
-        String exampleNumber = desc.exampleNumber;
+          MetadataManager.getShortNumberMetadataForRegion(regionCode).getEmergency();
+      if (desc.hasExampleNumber()) {
+        String exampleNumber = desc.getExampleNumber();
         PhoneNumber phoneNumber = phoneNumberUtil.parse(exampleNumber, regionCode);
         if (!shortNumberInfo.isPossibleShortNumberForRegion(phoneNumber, regionCode)
             || !shortNumberInfo.isEmergencyNumber(exampleNumber, regionCode)) {
@@ -239,9 +257,9 @@
     for (String regionCode : shortNumberInfo.getSupportedRegions()) {
       // Test the carrier-specific tag.
       PhoneNumberDesc desc =
-          MetadataManager.getShortNumberMetadataForRegion(regionCode).carrierSpecific;
-      if (!desc.exampleNumber.equals("")) {
-        String exampleNumber = desc.exampleNumber;
+          MetadataManager.getShortNumberMetadataForRegion(regionCode).getCarrierSpecific();
+      if (desc.hasExampleNumber()) {
+        String exampleNumber = desc.getExampleNumber();
         PhoneNumber carrierSpecificNumber = phoneNumberUtil.parse(exampleNumber, regionCode);
         if (!shortNumberInfo.isPossibleShortNumberForRegion(carrierSpecificNumber, regionCode)
             || !shortNumberInfo.isCarrierSpecific(carrierSpecificNumber)) {
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/MetadataManagerTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/MetadataManagerTest.java
index 7a4b5ec..229d8f7 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/MetadataManagerTest.java
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/MetadataManagerTest.java
@@ -16,7 +16,7 @@
 
 package com.google.i18n.phonenumbers;
 
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
 
 import junit.framework.TestCase;
 
@@ -29,14 +29,14 @@
     // We should have some data for Germany.
     PhoneMetadata germanyAlternateFormats = MetadataManager.getAlternateFormatsForCountry(49);
     assertNotNull(germanyAlternateFormats);
-    assertTrue(germanyAlternateFormats.numberFormat.length > 0);
+    assertTrue(germanyAlternateFormats.numberFormats().size() > 0);
   }
 
   public void testShortNumberMetadataContainsData() throws Exception {
     // We should have some data for France.
     PhoneMetadata franceShortNumberMetadata = MetadataManager.getShortNumberMetadataForRegion("FR");
     assertNotNull(franceShortNumberMetadata);
-    assertTrue(franceShortNumberMetadata.shortCode != null);
+    assertTrue(franceShortNumberMetadata.hasShortCode());
   }
 
   public void testAlternateFormatsFailsGracefully() throws Exception {
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java
index c1c5319..cf9bc90 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java
@@ -16,6 +16,9 @@
 
 package com.google.i18n.phonenumbers;
 
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
+
+import java.util.concurrent.ConcurrentHashMap;
 import junit.framework.TestCase;
 
 /**
@@ -24,21 +27,38 @@
 public class MultiFileMetadataSourceImplTest extends TestCase {
   public MultiFileMetadataSourceImplTest() {}
 
+  public void testGeographicalRegionMetadataLoadsCorrectly() {
+    ConcurrentHashMap<String, PhoneMetadata> map = new ConcurrentHashMap<String, PhoneMetadata>();
+    PhoneMetadata metadata = MultiFileMetadataSourceImpl.loadMetadataFromFile(
+        "CA", map, "/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting",
+        PhoneNumberUtil.DEFAULT_METADATA_LOADER);
+    assertEquals(metadata, map.get("CA"));
+  }
+
+  public void testNonGeographicalRegionMetadataLoadsCorrectly() {
+    ConcurrentHashMap<Integer, PhoneMetadata> map = new ConcurrentHashMap<Integer, PhoneMetadata>();
+    PhoneMetadata metadata = MultiFileMetadataSourceImpl.loadMetadataFromFile(
+        800, map, "/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting",
+        PhoneNumberUtil.DEFAULT_METADATA_LOADER);
+    assertEquals(metadata, map.get(800));
+  }
+
   public void testMissingMetadataFileThrowsRuntimeException() {
-    MultiFileMetadataSourceImpl multiFileMetadataSource = new MultiFileMetadataSourceImpl(
-        "no/such/file", PhoneNumberUtil.DEFAULT_METADATA_LOADER);
     // In normal usage we should never get a state where we are asking to load metadata that doesn't
     // exist. However if the library is packaged incorrectly in the jar, this could happen and the
     // best we can do is make sure the exception has the file name in it.
     try {
-      multiFileMetadataSource.loadMetadataFromFile("XX", -1);
+      MultiFileMetadataSourceImpl.loadMetadataFromFile(
+          "XX", new ConcurrentHashMap<String, PhoneMetadata>(), "no/such/file",
+          PhoneNumberUtil.DEFAULT_METADATA_LOADER);
       fail("expected exception");
     } catch (RuntimeException e) {
       assertTrue("Unexpected error: " + e, e.getMessage().contains("no/such/file_XX"));
     }
     try {
-      multiFileMetadataSource.loadMetadataFromFile(
-          PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY, 123);
+      MultiFileMetadataSourceImpl.loadMetadataFromFile(
+          123, new ConcurrentHashMap<Integer, PhoneMetadata>(), "no/such/file",
+          PhoneNumberUtil.DEFAULT_METADATA_LOADER);
       fail("expected exception");
     } catch (RuntimeException e) {
       assertTrue("Unexpected error: " + e, e.getMessage().contains("no/such/file_123"));
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java
index 4f6bcaf..e5313c7 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java
@@ -17,11 +17,11 @@
 package com.google.i18n.phonenumbers;
 
 import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat;
+import com.google.i18n.phonenumbers.Phonemetadata.NumberFormat;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneNumberDesc;
 import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
 import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber.CountryCodeSource;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.NumberFormat;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneMetadata;
-import com.google.i18n.phonenumbers.nano.Phonemetadata.PhoneNumberDesc;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -132,77 +132,81 @@
     assertNull(phoneUtil.getMetadataForNonGeographicalRegion(-1));
   }
 
-  private boolean exactlySame(PhoneNumberDesc first, PhoneNumberDesc second) {
-    return first.nationalNumberPattern.equals(second.nationalNumberPattern) &&
-        first.possibleNumberPattern.equals(second.possibleNumberPattern) &&
-        first.exampleNumber.equals(second.exampleNumber);
-  }
-
   public void testGetInstanceLoadUSMetadata() {
     PhoneMetadata metadata = phoneUtil.getMetadataForRegion(RegionCode.US);
-    assertEquals("US", metadata.id);
-    assertEquals(1, metadata.countryCode);
-    assertEquals("011", metadata.internationalPrefix);
-    assertTrue(!metadata.nationalPrefix.equals(""));
-    assertEquals(2, metadata.numberFormat.length);
+    assertEquals("US", metadata.getId());
+    assertEquals(1, metadata.getCountryCode());
+    assertEquals("011", metadata.getInternationalPrefix());
+    assertTrue(metadata.hasNationalPrefix());
+    assertEquals(2, metadata.numberFormatSize());
     assertEquals("(\\d{3})(\\d{3})(\\d{4})",
-                 metadata.numberFormat[1].pattern);
-    assertEquals("$1 $2 $3", metadata.numberFormat[1].format);
+                 metadata.getNumberFormat(1).getPattern());
+    assertEquals("$1 $2 $3", metadata.getNumberFormat(1).getFormat());
     assertEquals("[13-689]\\d{9}|2[0-35-9]\\d{8}",
-                 metadata.generalDesc.nationalNumberPattern);
-    assertEquals("\\d{7}(?:\\d{3})?", metadata.generalDesc.possibleNumberPattern);
-    assertTrue(exactlySame(metadata.generalDesc, metadata.fixedLine));
-    assertEquals("\\d{10}", metadata.tollFree.possibleNumberPattern);
-    assertEquals("900\\d{7}", metadata.premiumRate.nationalNumberPattern);
+                 metadata.getGeneralDesc().getNationalNumberPattern());
+    assertEquals("\\d{7}(?:\\d{3})?", metadata.getGeneralDesc().getPossibleNumberPattern());
+    assertTrue(metadata.getGeneralDesc().exactlySameAs(metadata.getFixedLine()));
+    assertEquals("\\d{10}", metadata.getTollFree().getPossibleNumberPattern());
+    assertEquals(10, metadata.getGeneralDesc().getPossibleLength(0));
+    // Possible lengths are the same as the general description, so aren't stored separately in the
+    // toll free element as well.
+    assertEquals(0, metadata.getTollFree().getPossibleLengthCount());
+    assertEquals("900\\d{7}", metadata.getPremiumRate().getNationalNumberPattern());
     // No shared-cost data is available, so it should be initialised to "NA".
-    assertEquals("NA", metadata.sharedCost.nationalNumberPattern);
-    assertEquals("NA", metadata.sharedCost.possibleNumberPattern);
+    assertEquals("NA", metadata.getSharedCost().getNationalNumberPattern());
+    assertEquals("NA", metadata.getSharedCost().getPossibleNumberPattern());
   }
 
   public void testGetInstanceLoadDEMetadata() {
     PhoneMetadata metadata = phoneUtil.getMetadataForRegion(RegionCode.DE);
-    assertEquals("DE", metadata.id);
-    assertEquals(49, metadata.countryCode);
-    assertEquals("00", metadata.internationalPrefix);
-    assertEquals("0", metadata.nationalPrefix);
-    assertEquals(6, metadata.numberFormat.length);
-    assertEquals(1, metadata.numberFormat[5].leadingDigitsPattern.length);
-    assertEquals("900", metadata.numberFormat[5].leadingDigitsPattern[0]);
+    assertEquals("DE", metadata.getId());
+    assertEquals(49, metadata.getCountryCode());
+    assertEquals("00", metadata.getInternationalPrefix());
+    assertEquals("0", metadata.getNationalPrefix());
+    assertEquals(6, metadata.numberFormatSize());
+    assertEquals(1, metadata.getNumberFormat(5).leadingDigitsPatternSize());
+    assertEquals("900", metadata.getNumberFormat(5).getLeadingDigitsPattern(0));
     assertEquals("(\\d{3})(\\d{3,4})(\\d{4})",
-                 metadata.numberFormat[5].pattern);
-    assertEquals("$1 $2 $3", metadata.numberFormat[5].format);
-    assertEquals("(?:[24-6]\\d{2}|3[03-9]\\d|[789](?:[1-9]\\d|0[2-9]))\\d{1,8}",
-                 metadata.fixedLine.nationalNumberPattern);
-    assertEquals("\\d{2,14}", metadata.fixedLine.possibleNumberPattern);
-    assertEquals("30123456", metadata.fixedLine.exampleNumber);
-    assertEquals("\\d{10}", metadata.tollFree.possibleNumberPattern);
-    assertEquals("900([135]\\d{6}|9\\d{7})", metadata.premiumRate.nationalNumberPattern);
+                 metadata.getNumberFormat(5).getPattern());
+    assertEquals("$1 $2 $3", metadata.getNumberFormat(5).getFormat());
+    assertEquals(2, metadata.getGeneralDesc().getPossibleLengthLocalOnlyCount());
+    assertEquals(8, metadata.getGeneralDesc().getPossibleLengthCount());
+    // Nothing is present for fixed-line, since it is the same as the general desc, so for
+    // efficiency reasons we don't store an extra value.
+    assertEquals(0, metadata.getFixedLine().getPossibleLengthCount());
+    assertEquals(2, metadata.getMobile().getPossibleLengthCount());
+    assertEquals("(?:[24-6]\\d{2}|3[03-9]\\d|[789](?:0[2-9]|[1-9]\\d))\\d{1,8}",
+                 metadata.getFixedLine().getNationalNumberPattern());
+    assertEquals("\\d{2,14}", metadata.getFixedLine().getPossibleNumberPattern());
+    assertEquals("30123456", metadata.getFixedLine().getExampleNumber());
+    assertEquals("\\d{10}", metadata.getTollFree().getPossibleNumberPattern());
+    assertEquals("900([135]\\d{6}|9\\d{7})", metadata.getPremiumRate().getNationalNumberPattern());
   }
 
   public void testGetInstanceLoadARMetadata() {
     PhoneMetadata metadata = phoneUtil.getMetadataForRegion(RegionCode.AR);
-    assertEquals("AR", metadata.id);
-    assertEquals(54, metadata.countryCode);
-    assertEquals("00", metadata.internationalPrefix);
-    assertEquals("0", metadata.nationalPrefix);
-    assertEquals("0(?:(11|343|3715)15)?", metadata.nationalPrefixForParsing);
-    assertEquals("9$1", metadata.nationalPrefixTransformRule);
-    assertEquals("$2 15 $3-$4", metadata.numberFormat[2].format);
+    assertEquals("AR", metadata.getId());
+    assertEquals(54, metadata.getCountryCode());
+    assertEquals("00", metadata.getInternationalPrefix());
+    assertEquals("0", metadata.getNationalPrefix());
+    assertEquals("0(?:(11|343|3715)15)?", metadata.getNationalPrefixForParsing());
+    assertEquals("9$1", metadata.getNationalPrefixTransformRule());
+    assertEquals("$2 15 $3-$4", metadata.getNumberFormat(2).getFormat());
     assertEquals("(9)(\\d{4})(\\d{2})(\\d{4})",
-                 metadata.numberFormat[3].pattern);
+                 metadata.getNumberFormat(3).getPattern());
     assertEquals("(9)(\\d{4})(\\d{2})(\\d{4})",
-                 metadata.intlNumberFormat[3].pattern);
-    assertEquals("$1 $2 $3 $4", metadata.intlNumberFormat[3].format);
+                 metadata.getIntlNumberFormat(3).getPattern());
+    assertEquals("$1 $2 $3 $4", metadata.getIntlNumberFormat(3).getFormat());
   }
 
   public void testGetInstanceLoadInternationalTollFreeMetadata() {
     PhoneMetadata metadata = phoneUtil.getMetadataForNonGeographicalRegion(800);
-    assertEquals("001", metadata.id);
-    assertEquals(800, metadata.countryCode);
-    assertEquals("$1 $2", metadata.numberFormat[0].format);
-    assertEquals("(\\d{4})(\\d{4})", metadata.numberFormat[0].pattern);
-    assertEquals("12345678", metadata.generalDesc.exampleNumber);
-    assertEquals("12345678", metadata.tollFree.exampleNumber);
+    assertEquals("001", metadata.getId());
+    assertEquals(800, metadata.getCountryCode());
+    assertEquals("$1 $2", metadata.getNumberFormat(0).getFormat());
+    assertEquals("(\\d{4})(\\d{4})", metadata.getNumberFormat(0).getPattern());
+    assertEquals("12345678", metadata.getGeneralDesc().getExampleNumber());
+    assertEquals("12345678", metadata.getTollFree().getExampleNumber());
   }
 
   public void testIsNumberGeographical() {
@@ -210,6 +214,10 @@
     assertTrue(phoneUtil.isNumberGeographical(AU_NUMBER));  // Australian fixed line number.
     assertFalse(phoneUtil.isNumberGeographical(INTERNATIONAL_TOLL_FREE));  // International toll
                                                                            // free number.
+    // We test that mobile phone numbers in relevant regions are indeed considered geographical.
+    assertTrue(phoneUtil.isNumberGeographical(AR_MOBILE));  // Argentina, mobile phone number.
+    assertTrue(phoneUtil.isNumberGeographical(MX_MOBILE1));  // Mexico, mobile phone number.
+    assertTrue(phoneUtil.isNumberGeographical(MX_MOBILE2));  // Mexico, another mobile phone number.
   }
 
   public void testIsLeadingZeroPossible() {
@@ -231,12 +239,16 @@
     // Google London, which has area code "20".
     assertEquals(2, phoneUtil.getLengthOfGeographicalAreaCode(GB_NUMBER));
 
-    // A UK mobile phone, which has no area code.
+    // A mobile number in the UK does not have an area code (by default, mobile numbers do not,
+    // unless they have been added to our list of exceptions).
     assertEquals(0, phoneUtil.getLengthOfGeographicalAreaCode(GB_MOBILE));
 
     // Google Buenos Aires, which has area code "11".
     assertEquals(2, phoneUtil.getLengthOfGeographicalAreaCode(AR_NUMBER));
 
+    // A mobile number in Argentina also has an area code.
+    assertEquals(3, phoneUtil.getLengthOfGeographicalAreaCode(AR_MOBILE));
+
     // Google Sydney, which has area code "2".
     assertEquals(1, phoneUtil.getLengthOfGeographicalAreaCode(AU_NUMBER));
 
@@ -251,6 +263,10 @@
 
     // An international toll free number, which has no area code.
     assertEquals(0, phoneUtil.getLengthOfGeographicalAreaCode(INTERNATIONAL_TOLL_FREE));
+
+    // A mobile number from China is geographical, but does not have an area code.
+    PhoneNumber cnMobile = new PhoneNumber().setCountryCode(86).setNationalNumber(18912341234L);
+    assertEquals(0, phoneUtil.getLengthOfGeographicalAreaCode(cnMobile));
   }
 
   public void testGetLengthOfNationalDestinationCode() {
@@ -287,6 +303,11 @@
 
     // An international toll free number, which has NDC "1234".
     assertEquals(4, phoneUtil.getLengthOfNationalDestinationCode(INTERNATIONAL_TOLL_FREE));
+
+    // A mobile number from China is geographical, but does not have an area code: however it still
+    // can be considered to have a national destination code.
+    PhoneNumber cnMobile = new PhoneNumber().setCountryCode(86).setNationalNumber(18912341234L);
+    assertEquals(3, phoneUtil.getLengthOfNationalDestinationCode(cnMobile));
   }
 
   public void testGetCountryMobileToken() {
@@ -330,7 +351,17 @@
                                                  PhoneNumberUtil.PhoneNumberType.MOBILE));
     // RegionCode 001 is reserved for supporting non-geographical country calling code. We don't
     // support getting an example number for it with this method.
-    assertEquals(null, phoneUtil.getExampleNumber(RegionCode.UN001));
+    assertNull(phoneUtil.getExampleNumber(RegionCode.UN001));
+  }
+
+  public void testGetInvalidExampleNumber() {
+    // RegionCode 001 is reserved for supporting non-geographical country calling codes. We don't
+    // support getting an invalid example number for it with getInvalidExampleNumber.
+    assertNull(phoneUtil.getInvalidExampleNumber(RegionCode.UN001));
+    assertNull(phoneUtil.getInvalidExampleNumber(RegionCode.CS));
+    PhoneNumber usInvalidNumber = phoneUtil.getInvalidExampleNumber(RegionCode.US);
+    assertEquals(1, usInvalidNumber.getCountryCode());
+    assertFalse(usInvalidNumber.getNationalNumber() == 0);
   }
 
   public void testGetExampleNumberForNonGeoEntity() {
@@ -338,6 +369,13 @@
     assertEquals(UNIVERSAL_PREMIUM_RATE, phoneUtil.getExampleNumberForNonGeoEntity(979));
   }
 
+  public void testGetExampleNumberWithoutRegion() {
+    // In our test metadata we don't cover all types: in our real metadata, we do.
+    assertNotNull(phoneUtil.getExampleNumberForType(PhoneNumberUtil.PhoneNumberType.FIXED_LINE));
+    assertNotNull(phoneUtil.getExampleNumberForType(PhoneNumberUtil.PhoneNumberType.MOBILE));
+    assertNotNull(phoneUtil.getExampleNumberForType(PhoneNumberUtil.PhoneNumberType.PREMIUM_RATE));
+  }
+
   public void testConvertAlphaCharactersInNumber() {
     String input = "1800-ABC-DEF";
     // Alpha chars are converted to digits; everything else is left untouched.
@@ -815,8 +853,8 @@
 
   public void testFormatByPattern() {
     NumberFormat newNumFormat = new NumberFormat();
-    newNumFormat.pattern = "(\\d{3})(\\d{3})(\\d{4})";
-    newNumFormat.format = "($1) $2-$3";
+    newNumFormat.setPattern("(\\d{3})(\\d{3})(\\d{4})");
+    newNumFormat.setFormat("($1) $2-$3");
     List<NumberFormat> newNumberFormats = new ArrayList<NumberFormat>();
     newNumberFormats.add(newNumFormat);
 
@@ -831,8 +869,8 @@
 
     // $NP is set to '1' for the US. Here we check that for other NANPA countries the US rules are
     // followed.
-    newNumFormat.nationalPrefixFormattingRule = "$NP ($FG)";
-    newNumFormat.format = "$1 $2-$3";
+    newNumFormat.setNationalPrefixFormattingRule("$NP ($FG)");
+    newNumFormat.setFormat("$1 $2-$3");
     assertEquals("1 (242) 365-1234",
                  phoneUtil.formatByPattern(BS_NUMBER, PhoneNumberFormat.NATIONAL,
                                            newNumberFormats));
@@ -840,8 +878,8 @@
                  phoneUtil.formatByPattern(BS_NUMBER, PhoneNumberFormat.INTERNATIONAL,
                                            newNumberFormats));
 
-    newNumFormat.pattern = "(\\d{2})(\\d{5})(\\d{3})";
-    newNumFormat.format = "$1-$2 $3";
+    newNumFormat.setPattern("(\\d{2})(\\d{5})(\\d{3})");
+    newNumFormat.setFormat("$1-$2 $3");
     newNumberFormats.set(0, newNumFormat);
 
     assertEquals("02-36618 300",
@@ -851,20 +889,20 @@
                  phoneUtil.formatByPattern(IT_NUMBER, PhoneNumberFormat.INTERNATIONAL,
                                            newNumberFormats));
 
-    newNumFormat.nationalPrefixFormattingRule = "$NP$FG";
-    newNumFormat.pattern = "(\\d{2})(\\d{4})(\\d{4})";
-    newNumFormat.format = "$1 $2 $3";
+    newNumFormat.setNationalPrefixFormattingRule("$NP$FG");
+    newNumFormat.setPattern("(\\d{2})(\\d{4})(\\d{4})");
+    newNumFormat.setFormat("$1 $2 $3");
     newNumberFormats.set(0, newNumFormat);
     assertEquals("020 7031 3000",
                  phoneUtil.formatByPattern(GB_NUMBER, PhoneNumberFormat.NATIONAL,
                                            newNumberFormats));
 
-    newNumFormat.nationalPrefixFormattingRule = "($NP$FG)";
+    newNumFormat.setNationalPrefixFormattingRule("($NP$FG)");
     assertEquals("(020) 7031 3000",
                  phoneUtil.formatByPattern(GB_NUMBER, PhoneNumberFormat.NATIONAL,
                                            newNumberFormats));
 
-    newNumFormat.nationalPrefixFormattingRule = "";
+    newNumFormat.setNationalPrefixFormattingRule("");
     assertEquals("20 7031 3000",
                  phoneUtil.formatByPattern(GB_NUMBER, PhoneNumberFormat.NATIONAL,
                                            newNumberFormats));
@@ -1437,9 +1475,8 @@
 
   public void testMaybeStripNationalPrefix() {
     PhoneMetadata metadata = new PhoneMetadata();
-    metadata.nationalPrefixForParsing = "34";
-    metadata.generalDesc = new PhoneNumberDesc();
-    metadata.generalDesc.nationalNumberPattern = "\\d{4,8}";
+    metadata.setNationalPrefixForParsing("34");
+    metadata.setGeneralDesc(new PhoneNumberDesc().setNationalNumberPattern("\\d{4,8}"));
     StringBuilder numberToStrip = new StringBuilder("34356778");
     String strippedNumber = "356778";
     assertTrue(phoneUtil.maybeStripNationalPrefixAndCarrierCode(numberToStrip, metadata, null));
@@ -1451,20 +1488,20 @@
     assertEquals("Should have had no change - no national prefix present.",
                  strippedNumber, numberToStrip.toString());
     // Some countries have no national prefix. Repeat test with none specified.
-    metadata.nationalPrefixForParsing = "";
+    metadata.setNationalPrefixForParsing("");
     assertFalse(phoneUtil.maybeStripNationalPrefixAndCarrierCode(numberToStrip, metadata, null));
     assertEquals("Should not strip anything with empty national prefix.",
                  strippedNumber, numberToStrip.toString());
     // If the resultant number doesn't match the national rule, it shouldn't be stripped.
-    metadata.nationalPrefixForParsing = "3";
+    metadata.setNationalPrefixForParsing("3");
     numberToStrip = new StringBuilder("3123");
     strippedNumber = "3123";
     assertFalse(phoneUtil.maybeStripNationalPrefixAndCarrierCode(numberToStrip, metadata, null));
-    assertEquals("Should have had no change - after stripping, it wouldn't have matched " +
-                 "the national rule.",
-                 strippedNumber, numberToStrip.toString());
+    assertEquals("Should have had no change - after stripping, it wouldn't have matched "
+        + "the national rule.",
+        strippedNumber, numberToStrip.toString());
     // Test extracting carrier selection code.
-    metadata.nationalPrefixForParsing = "0(81)?";
+    metadata.setNationalPrefixForParsing("0(81)?");
     numberToStrip = new StringBuilder("08122123456");
     strippedNumber = "22123456";
     StringBuilder carrierCode = new StringBuilder();
@@ -1474,9 +1511,9 @@
     assertEquals("Should have had national prefix and carrier code stripped.",
                  strippedNumber, numberToStrip.toString());
     // If there was a transform rule, check it was applied.
-    metadata.nationalPrefixTransformRule = "5$15";
+    metadata.setNationalPrefixTransformRule("5$15");
     // Note that a capturing group is present here.
-    metadata.nationalPrefixForParsing = "0(\\d{2})";
+    metadata.setNationalPrefixForParsing("0(\\d{2})");
     numberToStrip = new StringBuilder("031123");
     String transformedNumber = "5315123";
     assertTrue(phoneUtil.maybeStripNationalPrefixAndCarrierCode(numberToStrip, metadata, null));
@@ -1651,11 +1688,10 @@
     try {
       String phoneNumber = "(1 610) 619 446";
       StringBuilder numberToFill = new StringBuilder();
-      assertEquals("Should not have extracted a country calling code - invalid number after " +
-                   "extraction of uncertain country calling code.",
-                   0,
-                   phoneUtil.maybeExtractCountryCode(phoneNumber, metadata, numberToFill, false,
-                                                     number));
+      assertEquals("Should not have extracted a country calling code - invalid number after "
+          + "extraction of uncertain country calling code.",
+          0,
+          phoneUtil.maybeExtractCountryCode(phoneNumber, metadata, numberToFill, false, number));
       assertFalse("Should not contain CountryCodeSource.", number.hasCountryCodeSource());
     } catch (NumberParseException e) {
       fail("Should not have thrown an exception: " + e.toString());
@@ -1664,11 +1700,10 @@
     try {
       String phoneNumber = "(1 610) 619";
       StringBuilder numberToFill = new StringBuilder();
-      assertEquals("Should not have extracted a country calling code - too short number both " +
-                   "before and after extraction of uncertain country calling code.",
-                   0,
-                   phoneUtil.maybeExtractCountryCode(phoneNumber, metadata, numberToFill, true,
-                                                     number));
+      assertEquals("Should not have extracted a country calling code - too short number both "
+          + "before and after extraction of uncertain country calling code.",
+          0,
+          phoneUtil.maybeExtractCountryCode(phoneNumber, metadata, numberToFill, true, number));
       assertEquals("Did not figure out CountryCodeSource correctly",
                    CountryCodeSource.FROM_DEFAULT_COUNTRY, number.getCountryCodeSource());
     } catch (NumberParseException e) {
@@ -1814,20 +1849,18 @@
     // Using a soft hyphen U+00AD.
     assertEquals(US_NUMBER, phoneUtil.parse("1 (650) 253\u00AD-0000", RegionCode.US));
     // The whole number, including punctuation, is here represented in full-width form.
-    assertEquals(US_NUMBER, phoneUtil.parse("\uFF0B\uFF11\u3000\uFF08\uFF16\uFF15\uFF10\uFF09" +
-                                            "\u3000\uFF12\uFF15\uFF13\uFF0D\uFF10\uFF10\uFF10" +
-                                            "\uFF10",
-                                            RegionCode.SG));
+    assertEquals(US_NUMBER, phoneUtil.parse("\uFF0B\uFF11\u3000\uFF08\uFF16\uFF15\uFF10\uFF09"
+          + "\u3000\uFF12\uFF15\uFF13\uFF0D\uFF10\uFF10\uFF10\uFF10",
+          RegionCode.SG));
     // Using U+30FC dash instead.
-    assertEquals(US_NUMBER, phoneUtil.parse("\uFF0B\uFF11\u3000\uFF08\uFF16\uFF15\uFF10\uFF09" +
-                                            "\u3000\uFF12\uFF15\uFF13\u30FC\uFF10\uFF10\uFF10" +
-                                            "\uFF10",
-                                            RegionCode.SG));
+    assertEquals(US_NUMBER, phoneUtil.parse("\uFF0B\uFF11\u3000\uFF08\uFF16\uFF15\uFF10\uFF09"
+          + "\u3000\uFF12\uFF15\uFF13\u30FC\uFF10\uFF10\uFF10\uFF10",
+          RegionCode.SG));
 
     // Using a very strange decimal digit range (Mongolian digits).
-    assertEquals(US_NUMBER, phoneUtil.parse("\u1811 \u1816\u1815\u1810 " +
-                                            "\u1812\u1815\u1813 \u1810\u1810\u1810\u1810",
-                                            RegionCode.US));
+    assertEquals(US_NUMBER, phoneUtil.parse("\u1811 \u1816\u1815\u1810 "
+          + "\u1812\u1815\u1813 \u1810\u1810\u1810\u1810",
+          RegionCode.US));
   }
 
   public void testParseWithLeadingZero() throws Exception {
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/ShortNumberInfoTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/ShortNumberInfoTest.java
index edcb004..7059678 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/ShortNumberInfoTest.java
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/ShortNumberInfoTest.java
@@ -329,7 +329,7 @@
     assertEquals(ShortNumberInfo.ShortNumberCost.UNKNOWN_COST,
         shortInfo.getExpectedCostForRegion(parse("211", RegionCode.US), RegionCode.US));
     assertFalse(shortInfo.isEmergencyNumber("211", RegionCode.CA));
-    assertEquals(ShortNumberInfo.ShortNumberCost.UNKNOWN_COST,
+    assertEquals(ShortNumberInfo.ShortNumberCost.TOLL_FREE,
         shortInfo.getExpectedCostForRegion(parse("211", RegionCode.CA), RegionCode.CA));
   }
 
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_800 b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_800
index c8d5ffa..cfaaeca 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_800
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_800
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_979 b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_979
index 87e9835..92cb48a 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_979
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_979
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AD b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AD
index fd2844b..42e2c85 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AD
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AD
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AE b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AE
index de5efa3..79aeb16 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AE
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AE
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AO b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AO
index 7865c2f..3b33ecc 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AO
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AO
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AR b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AR
index c9c1af8..e8eee83 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AR
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AR
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU
index 734279b..ef6e385 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BB b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BB
index fc3a715..76b000c 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BB
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BB
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BR b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BR
index 8bf34a1..2284176 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BR
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BR
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BS b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BS
index 443033c..301810e 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BS
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BS
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BY b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BY
index d89232d..ac42920 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BY
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BY
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CA b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CA
index 464bd02..3be2c44 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CA
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CA
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CC b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CC
index 2462f4c..7547c46 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CC
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CC
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CN b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CN
index b832939..4297012 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CN
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CN
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CX b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CX
index 92a9582..7c76e17 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CX
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_CX
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE
index e3797a4..e55eebf 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_FR b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_FR
index ece939d..c15c8cd 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_FR
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_FR
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GB b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GB
index 9e8ecc4..59c4861 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GB
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GB
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GG b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GG
index 712f683..b20aac7 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GG
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GG
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_HU b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_HU
index 28fdec1..43873a4 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_HU
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_HU
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_IT b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_IT
index d3c00b2..6f46a99 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_IT
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_IT
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_JP b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_JP
index aa055b1..1418061 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_JP
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_JP
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_KR b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_KR
index 49e8302..fc35203 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_KR
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_KR
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_MX b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_MX
index cd4593a..9151ddc 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_MX
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_MX
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_NZ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_NZ
index 9a26ed1..554b800 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_NZ
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_NZ
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL
index 7c5fc15..da93e75 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE
index 144938c..435ecc0 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE
index 99fdf26..7e9e68b 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG
index fa31285..1f13cb2 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US
index a6c26c5..6ee4178 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT
index 0852976..aa7469b 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT
Binary files differ
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProtoForTesting b/libphonenumber/test/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProtoForTesting
deleted file mode 100644
index 82ae4a8..0000000
--- a/libphonenumber/test/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProtoForTesting
+++ /dev/null
Binary files differ
diff --git a/pom.xml b/pom.xml
index 70e6b39..1b1a067 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>libphonenumber-parent</artifactId>
-  <version>7.2.6</version>
+  <version>7.7.0</version>
   <packaging>pom</packaging>
   <url>https://github.com/googlei18n/libphonenumber/</url>
 
@@ -92,7 +92,7 @@
         <artifactId>maven-surefire-plugin</artifactId>
         <version>2.12</version>
         <configuration>
-          <forkMode>never</forkMode>
+          <forkCount>0</forkCount>
           <includes>
             <include>**/*Test.java</include>
           </includes>
diff --git a/release_notes.txt b/release_notes.txt
index 2e89ec2..25195c3 100644
--- a/release_notes.txt
+++ b/release_notes.txt
@@ -1,3 +1,174 @@
+Sep 19, 2016: libphonenumber-7.7.0
+Code changes:
+ - Removed the dependency on protobuf (protobuf-javanano) from the Java library,
+   resurrecting
+   java/libphonenumber/src/com/google/i18n/phonenumbers/Phonemetadata.java
+   which was present until libphonenumber-7.1.1.
+   Does not affect the C++ or JavaScript libraries.
+
+Sep 07, 2016: libphonenumber-7.6.1
+Code changes:
+ - Phonemetadata.java has two more fields to represent possible lengths of phone
+   numbers. Changed BuildMetadataFromXml (and the resultant jar) to alter the way
+   that metadata about possible-lengths information is consumed when constructing
+   metadata to populate these.
+   Discussion list email:
+   https://groups.google.com/forum/#!topic/libphonenumber-discuss/75TOpTFVi08
+Metadata changes:
+ - Updated phone metadata for region code(s):
+   AG, AM, AX, BY, CD, FI, IN, KR, MA, NA, NL, PK, SY
+ - Updated short number metadata for region code(s): BR, GB, NL, NZ
+ - New geocoding data for country calling code(s):
+   82 (pl, pt, ro, ru, sl, sr, uk, vi)
+ - Updated carrier data for country calling code(s):
+   27 (en), 91 (en), 243 (en), 963 (en)
+
+Aug 24, 2016: libphonenumber-7.6.0
+Code changes:
+ - Refactored metadata loading and closed all streams after loading.
+ - Made isNumberGeographical public, and changed the geocoder to
+   use this when checking whether to give a detailed answer or country-level
+   only.
+Build changes:
+ - Use protobuf-javanano 3.0.0-alpha-7 from Maven Central.
+Metadata changes:
+ - Updated phone metadata for region code(s): EH, ET, JM, MA, SK, SN, SY, ZM
+ - Updated short number metadata for region code(s): ZA
+ - Updated geocoding data for country calling code(s): 212 (en)
+ - New carrier data for country calling code(s):
+   86 (zh, zh_Hant), 852 (zh, zh_Hant), 963 (en)
+ - Updated carrier data for country calling code(s):
+   86 (en), 212 (en), 251 (en), 421 (en)
+ - Deleted unsupported SingleFilePhoneNumberMetadataProto
+
+Aug 10, 2016: libphonenumber-7.5.2
+Metadata changes:
+ - Updated phone metadata for region code(s): CO, IN, ME
+ - Updated short number metadata for region code(s): IN
+ - New carrier data for country calling code(s): 382 (en)
+ - Updated carrier data for country calling code(s): 91 (en)
+
+Jul 27, 2016: libphonenumber-7.5.1
+Metadata changes:
+ - Updated alternate formatting data for country calling code(s): 595
+ - Updated phone metadata for region code(s): BD, BG, CI, IN, PY, TJ
+ - Updated short number metadata for region code(s): IN
+ - New geocoding data for country calling code(s):
+   82 (bg, ca, el, es, fi, hi, hu, iw, ja, tr)
+ - Updated geocoding data for country calling code(s): 44 (en)
+ - New carrier data for country calling code(s): 374 (ru)
+ - Updated carrier data for country calling code(s):
+   91 (en), 374 (en), 992 (en)
+
+Jul 22, 2016: libphonenumber-7.5.0
+Code changes:
+ - Simplify concurrent metadata loading in MultiFileMetadataSourceImpl and
+   reduce points of contention.
+
+Jul 14, 2016: libphonenumber-7.4.5
+Metadata changes:
+ - Updated phone metadata for region code(s): CN, HN, IN, KW, LV, TC
+ - Updated short number metadata for region code(s): AE, BR, GB, ZA
+ - New geocoding data for country calling code(s): 93 (fa), 992 (en)
+ - Updated geocoding data for country calling code(s):
+   91 (en), 98 (en, fa), 371 (en), 504 (en), 1 (en)
+ - Updated carrier data for country calling code(s): 91 (en)
+
+Jun 29, 2016: libphonenumber-7.4.4
+Metadata changes:
+ - Updated phone metadata for region code(s): AZ, BH, HN, IN, US
+ - Updated short number metadata for region code(s): BR, IN, SK
+ - New geocoding data for country calling code(s): 994 (en),
+ - Updated geocoding data for country calling code(s): 504 (en), 1 (en)
+ - Updated carrier data for country calling code(s):
+   91 (en), 973 (en), 994 (en)
+
+Jun 15, 2016: libphonenumber-7.4.3
+Metadata changes:
+ - Updated phone metadata for region code(s):
+   HK, HN, IN, KN, KW, SK, SN, TH, TZ
+ - Updated short number metadata for region code(s): AR, NO
+ - New geocoding data for country calling code(s): 93 (en), 504 (en)
+ - New carrier data for country calling code(s): 93 (fa), 98 (fa)
+ - Updated carrier data for country calling code(s):
+   66 (en), 91 (en), 255 (en), 421 (en)
+
+Jun 01, 2016: libphonenumber-7.4.2
+Code changes:
+ - Make C++ code forward compatible with an upcoming RE2 change.
+Metadata changes:
+ - Updated phone metadata for region code(s): AE, BZ, GU, IN, KR
+ - Updated short number metadata for region code(s): BR
+ - New geocoding data for country calling code(s): 501 (en)
+ - Updated carrier data for country calling code(s):
+   91 (en), 971 (en), 1671 (en)
+
+May 18, 2016: libphonenumber-7.4.1
+Metadata changes:
+ - Updated phone metadata for region code(s): FR, IL, KR
+ - Updated carrier data for country calling code(s): 972 (en)
+
+May 11, 2016: libphonenumber-7.4.0
+Maven changes:
+ - Repackage protobuf runtime dependency to prevent conflicts with clients'
+   protobuf dependencies. Backwards-compatible, so no changes needed for clients
+   who could use the previous release, but enables those with their own protobuf
+   dependencies to use this and future releases without workarounds.
+
+May 03, 2016: libphonenumber-7.3.2
+Metadata changes:
+ - Updated phone metadata for region code(s):
+   AU, BR, ET, IN, KH, ML, NO, SB, TJ, US
+ - Updated short number metadata for region code(s): CA, ML, US
+ - New geocoding data for country calling code(s): 223 (en)
+ - Updated geocoding data for country calling code(s):
+   27 (en), 55 (en, pt), 1 (en)
+ - Updated carrier data for country calling code(s):
+   61 (en), 91 (en), 223 (en), 251 (en), 677 (en), 992 (en)
+
+Apr 20, 2016: libphonenumber-7.3.1
+Metadata changes:
+ - Updated phone metadata for region code(s): DE, DJ, IL, IN, KH
+ - Updated short number metadata for region code(s): BR
+ - Updated carrier data for country calling code(s):
+   91 (en), 855 (en), 972 (en)
+
+Apr 05, 2016: libphonenumber-7.3.0
+Code changes:
+ - Added java/pending_code_changes.txt for contributors to track code changes
+   between releases.
+ - Reduced minimum required version of cmake to 2.8.
+ - Added cmake installation instructions for Mac.
+ - Added getExampleNumberForType that doesn't take in a region, and
+   getInvalidExampleNumber
+ - Improvements to javadoc for parse method
+ - Update isNumberGeographical to return true for geographical mobile numbers.
+Metadata changes:
+ - Updated phone metadata for region code(s):
+   BJ, BZ, CI, ET, GQ, KE, KW, ML, NO, OM, VN
+ - Updated short number metadata for region code(s): KE
+ - Updated geocoding data for country calling code(s):
+   84 (en), 251 (en), 254 (en)
+ - Updated carrier data for country calling code(s):
+   84 (en), 225 (en), 229 (en), 254 (en), 968 (en)
+
+Mar 21, 2016: libphonenumber-7.2.8
+Metadata changes:
+ - Updated phone metadata for region code(s): CL, CN, FO, KE, SE, SO
+ - Updated short number metadata for region code(s): FO
+ - Updated geocoding data for country calling code(s): 86 (en, zh)
+ - Updated carrier data for country calling code(s):
+   86 (en), 252 (en), 254 (en)
+
+Mar 09, 2016: libphonenumber-7.2.7
+Code changes:
+ - Update nationalPrefixOptionalWhenFormatting documentation.
+Metadata changes:
+ - Updated phone metadata for region code(s): CN, IN, MO, TK
+ - Updated short number metadata for region code(s): FR
+ - Updated carrier data for country calling code(s): 853 (en)
+ - Updated / refreshed time zone meta data.
+
 Feb 25, 2016: libphonenumber-7.2.6
 Metadata changes:
  - Updated phone metadata for region code(s): DJ, MA, NA, US