Update libphonenumber to v7.0.11

Bug: 24185976
Change-Id: I9938e931e5ba63a5b5773cc6af66c6e55fc9a283
diff --git a/README.android b/README.android
index 0e0faad..e5925fa 100644
--- a/README.android
+++ b/README.android
@@ -1,4 +1,4 @@
 URL: https://github.com/googlei18n/libphonenumber
-Version: 7.0.2 (8109d4a)
+Version: 7.0.11
 License: Apache 2
 Description: Google Phone Number Library.
diff --git a/carrier/pom.xml b/carrier/pom.xml
index 8d4f48c..8081c90 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.10</version>
+  <version>1.17</version>
   <packaging>jar</packaging>
   <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.0.4</version>
+    <version>7.0.11</version>
   </parent>
 
   <build>
@@ -34,12 +34,12 @@
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.0.4</version>
+      <version>7.0.11</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>prefixmapper</artifactId>
-      <version>2.20</version>
+      <version>2.27</version>
     </dependency>
   </dependencies>
 
diff --git a/carrier/src/com/google/i18n/phonenumbers/PhoneNumberToCarrierMapper.java b/carrier/src/com/google/i18n/phonenumbers/PhoneNumberToCarrierMapper.java
index 201062d..6b5b753 100644
--- a/carrier/src/com/google/i18n/phonenumbers/PhoneNumberToCarrierMapper.java
+++ b/carrier/src/com/google/i18n/phonenumbers/PhoneNumberToCarrierMapper.java
@@ -100,7 +100,7 @@
    * Gets the name of the carrier for the given phone number only when it is 'safe' to display to
    * users. A carrier name is considered safe if the number is valid and for a region that doesn't
    * support
-   * {@linkplain http://en.wikipedia.org/wiki/Mobile_number_portability mobile number portability}.
+   * <a href="http://en.wikipedia.org/wiki/Mobile_number_portability">mobile number portability</a>.
    *
    * @param number  the phone number for which we want to get a carrier name
    * @param languageCode  the language code in which the name should be written
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/1246_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/1246_en
index 76b63ab..9d27471 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/1246_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/1246_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/1684_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/1684_en
index e9fc484..d1e09ef 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/1684_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/1684_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/1868_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/1868_en
index 1127617..53b180d 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/1868_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/1868_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/1876_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/1876_en
index d846feb..e498324 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/1876_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/1876_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 fcf1178..04ebce5 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/225_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/225_en
index 3a61f8e..64936f9 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/227_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/227_en
index eeb974c..347d5e7 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/227_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/227_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/230_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/230_en
index 6557067..e9a7595 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/230_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/230_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/231_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/231_en
index 04153037..754e4a5 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/231_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/231_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/232_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/232_en
index 5f54fae..5f5f644 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/232_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/232_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/235_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/235_en
index 5631cd0..bb420ef 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/235_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/235_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/237_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/237_en
index b4da8aa..6619b94 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/237_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/237_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/239_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/239_en
index fbdf314..9269d1c 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/239_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/239_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/242_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/242_en
index 0b72209..882427c 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/242_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/242_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/248_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/248_en
index fc22e13..eb39a96 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/248_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/248_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/249_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/249_en
index a2a1b50..acd9edd 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/249_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/249_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 ae81c29..0965127 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 96dae91..9a600ed 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 4a39e53..ea1a183 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/263_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/263_en
index ee7f65d..210e042 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/263_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/263_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/267_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/267_en
index 58756b9..3e7a6f1 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/267_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/267_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/32_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/32_en
index 8e7de52..113260e 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/32_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/32_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/359_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/359_en
index 99bd19c..2228f23 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/359_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/359_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/373_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/373_en
index 194c4f5..ddbc09b 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/373_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/373_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/380_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/380_en
index 4790933..e879712 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/380_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/380_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/385_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/385_en
index 33887cf..9b7fa97 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/385_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/385_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/40_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/40_en
index 5d55c62..2cf74e3 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/40_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/40_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/41_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/41_en
index 78ad721..a2fb8ea 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/41_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/41_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/49_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/49_en
index 3a0c331..ef9a4c3 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/49_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/49_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/509_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/509_en
new file mode 100644
index 0000000..2bf9a5c
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/509_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/592_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/592_en
new file mode 100644
index 0000000..eb75442
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/592_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/60_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/60_en
index 1f07d26..617424a 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/60_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/60_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 1166795..e3174c8 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/63_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/63_en
index 1705e80..3b97e3e 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/63_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/63_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/689_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/689_en
new file mode 100644
index 0000000..b3d2a3e
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/689_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/7_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/7_en
index 1421b7b..04096ff 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/7_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/7_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 2cc4f2a..9acebb8 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/91_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en
index 588315b..ad736ae 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/92_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/92_en
index bfcef85..da409f5 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/92_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/92_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/93_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/93_en
index 6c40b77..3daede6 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/93_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/93_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/94_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/94_en
index 6c02e72..b40e320 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/94_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/94_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/95_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/95_en
index d5714db..9134704 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/95_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/95_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/960_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/960_en
index 2d1b32e..dccf09e 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/960_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/960_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/961_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/961_en
index 63c9504..b3160c2 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/961_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/961_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/962_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/962_en
index f7f622c..6af4445 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/962_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/962_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 afc862c..ba867b3 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/976_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/976_en
new file mode 100644
index 0000000..a4838c7
--- /dev/null
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/976_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/977_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/977_en
index dd70905..f4b6c7b 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/977_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/977_en
Binary files differ
diff --git a/carrier/src/com/google/i18n/phonenumbers/carrier/data/993_en b/carrier/src/com/google/i18n/phonenumbers/carrier/data/993_en
index 0ea9836..86520d9 100644
--- a/carrier/src/com/google/i18n/phonenumbers/carrier/data/993_en
+++ b/carrier/src/com/google/i18n/phonenumbers/carrier/data/993_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 bd013ba..1366ecb 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 7ec9fed..318cee4 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.0.4</version>
+    <version>7.0.11</version>
   </parent>
   <groupId>com.googlecode.libphonenumber</groupId>
   <artifactId>demo</artifactId>
-  <version>7.0.4</version>
+  <version>7.0.11</version>
 
   <properties>
     <gae.version>1.5.4</gae.version>
@@ -43,17 +43,17 @@
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.0.4</version>
+      <version>7.0.11</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>geocoder</artifactId>
-      <version>2.20</version>
+      <version>2.27</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>carrier</artifactId>
-      <version>1.10</version>
+      <version>1.17</version>
     </dependency>
   </dependencies>
 
diff --git a/demo/war/WEB-INF/appengine-web.xml b/demo/war/WEB-INF/appengine-web.xml
index 9a56cfa..5e9135b 100644
--- a/demo/war/WEB-INF/appengine-web.xml
+++ b/demo/war/WEB-INF/appengine-web.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
-  <application>libphonenumber</application>
+  <application>libphonenumber-hrd</application>
   <version>1</version>
   <threadsafe>true</threadsafe>
 
diff --git a/geocoder/pom.xml b/geocoder/pom.xml
index a8805c1..65c8092 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.20</version>
+  <version>2.27</version>
   <packaging>jar</packaging>
   <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.0.4</version>
+    <version>7.0.11</version>
   </parent>
 
   <build>
@@ -42,12 +42,12 @@
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.0.4</version>
+      <version>7.0.11</version>
     </dependency>
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>prefixmapper</artifactId>
-      <version>2.20</version>
+      <version>2.27</version>
     </dependency>
   </dependencies>
 
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1854_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1854_en
new file mode 100644
index 0000000..4440fe7
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1854_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/226_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/226_en
index 0b5db05..329052f 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/226_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/226_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/263_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/263_en
index 5df9b2f..624068f 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/263_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/263_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/264_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/264_en
index 6ea2c2b..91675aa 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/264_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/264_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_en
index b65865d..6aea638 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_fr b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_fr
index a9df787..1f877a6 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_fr
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_fr
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_en
index a4b84ac..c8caa9e 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_fi b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_fi
index 3824cfb..0c64f98 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_fi
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_fi
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_se b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_se
index b016fc3..74fa2da 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_se
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/358_se
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_en
index 074b9d7..d376829 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_es b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_es
index f55b59f..e8267fc 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_es
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_es
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/592_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/592_en
new file mode 100644
index 0000000..d137ba5
--- /dev/null
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/592_en
Binary files differ
diff --git a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/62_en b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/62_en
index 557ddf7..e42eb90 100644
--- a/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/62_en
+++ b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/62_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 ebbda29..ec13539 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 db537eb..6519ec5 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/config b/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config
index 5d30fd4..1f85b55 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 26c66a5..0c201a6 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/internal/prefixmapper/pom.xml b/internal/prefixmapper/pom.xml
index 55e14f5..df16c66 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.20</version>
+  <version>2.27</version>
   <packaging>jar</packaging>
   <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.0.4</version>
+    <version>7.0.11</version>
     <relativePath>../../pom.xml</relativePath>
   </parent>
 
@@ -29,7 +29,7 @@
     <dependency>
       <groupId>com.googlecode.libphonenumber</groupId>
       <artifactId>libphonenumber</artifactId>
-      <version>7.0.4</version>
+      <version>7.0.11</version>
     </dependency>
   </dependencies>
 
diff --git a/internal/prefixmapper/src/com/google/i18n/phonenumbers/prefixmapper/PrefixTimeZonesMap.java b/internal/prefixmapper/src/com/google/i18n/phonenumbers/prefixmapper/PrefixTimeZonesMap.java
index ce0084e..3f4f3d3 100644
--- a/internal/prefixmapper/src/com/google/i18n/phonenumbers/prefixmapper/PrefixTimeZonesMap.java
+++ b/internal/prefixmapper/src/com/google/i18n/phonenumbers/prefixmapper/PrefixTimeZonesMap.java
@@ -37,7 +37,7 @@
   private static final String RAW_STRING_TIMEZONES_SEPARATOR = "&";
 
   /**
-    * Creates a {@link PrefixTimeZoneMap} initialized with {@code sortedPrefixTimeZoneMap}.  Note
+    * Creates a {@link PrefixTimeZonesMap} initialized with {@code sortedPrefixTimeZoneMap}.  Note
     * that the underlying implementation of this method is expensive thus should not be called by
     * time-critical applications.
     *
diff --git a/libphonenumber/pom.xml b/libphonenumber/pom.xml
index 21cd735..e8f60f7 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.0.4</version>
+  <version>7.0.11</version>
   <packaging>jar</packaging>
   <url>https://github.com/googlei18n/libphonenumber/</url>
 
   <parent>
     <groupId>com.googlecode.libphonenumber</groupId>
     <artifactId>libphonenumber-parent</artifactId>
-    <version>7.0.4</version>
+    <version>7.0.11</version>
   </parent>
 
   <build>
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMap.java b/libphonenumber/src/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMap.java
index 5f3e269..b8126dc 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMap.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMap.java
@@ -31,10 +31,10 @@
   // countries sharing a calling code, such as the NANPA countries, the one
   // indicated with "isMainCountryForCode" in the metadata should be first.
   static Map<Integer, List<String>> getCountryCodeToRegionCodeMap() {
-    // The capacity is set to 286 as there are 215 different entries,
+    // The capacity is set to 285 as there are 214 different entries,
     // and this offers a load factor of roughly 0.75.
     Map<Integer, List<String>> countryCodeToRegionCodeMap =
-        new HashMap<Integer, List<String>>(286);
+        new HashMap<Integer, List<String>>(285);
 
     ArrayList<String> listWithRegionCode;
 
@@ -103,8 +103,9 @@
     listWithRegionCode.add("HU");
     countryCodeToRegionCodeMap.put(36, listWithRegionCode);
 
-    listWithRegionCode = new ArrayList<String>(1);
+    listWithRegionCode = new ArrayList<String>(2);
     listWithRegionCode.add("IT");
+    listWithRegionCode.add("VA");
     countryCodeToRegionCodeMap.put(39, listWithRegionCode);
 
     listWithRegionCode = new ArrayList<String>(1);
@@ -570,10 +571,6 @@
     countryCodeToRegionCodeMap.put(378, listWithRegionCode);
 
     listWithRegionCode = new ArrayList<String>(1);
-    listWithRegionCode.add("VA");
-    countryCodeToRegionCodeMap.put(379, listWithRegionCode);
-
-    listWithRegionCode = new ArrayList<String>(1);
     listWithRegionCode.add("UA");
     countryCodeToRegionCodeMap.put(380, listWithRegionCode);
 
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/MetadataSource.java b/libphonenumber/src/com/google/i18n/phonenumbers/MetadataSource.java
new file mode 100644
index 0000000..bedd570
--- /dev/null
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/MetadataSource.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2015 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.
+ */
+
+package com.google.i18n.phonenumbers;
+
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
+
+/**
+ * A source for phone metadata from resources.
+ */
+interface MetadataSource {
+  /**
+   * Gets phone metadata for a region.
+   * @param regionCode the region code.
+   * @return the phone metadata for that region, or null if there is none.
+   */
+  PhoneMetadata getMetadataForRegion(String regionCode);
+
+  /**
+   * Gets phone metadata for a non-geographical region.
+   * @param countryCallingCode the country calling code.
+   * @return the phone metadata for that region, or null if there is none.
+   */
+  PhoneMetadata getMetadataForNonGeographicalRegion(int countryCallingCode);
+}
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java b/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java
new file mode 100644
index 0000000..7c5bb8d
--- /dev/null
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (C) 2015 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.
+ */
+
+package com.google.i18n.phonenumbers;
+
+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;
+
+/**
+ * Implementation of {@link MetadataSource} that reads from multiple resource files.
+ */
+final class MultiFileMetadataSourceImpl implements MetadataSource {
+
+  private static final Logger logger =
+      Logger.getLogger(MultiFileMetadataSourceImpl.class.getName());
+
+  private static final String META_DATA_FILE_PREFIX =
+      "/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>());
+
+  // 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>());
+
+  // The prefix of the metadata files from which region data is loaded.
+  private final String currentFilePrefix;
+
+  // The metadata loader used to inject alternative metadata sources.
+  private final MetadataLoader metadataLoader;
+
+  // It is assumed that metadataLoader is not null.
+  public MultiFileMetadataSourceImpl(String currentFilePrefix, MetadataLoader metadataLoader) {
+    this.currentFilePrefix = currentFilePrefix;
+    this.metadataLoader = metadataLoader;
+  }
+
+  // It is assumed that metadataLoader is not null.
+  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(currentFilePrefix, regionCode, 0, metadataLoader);
+      }
+    }
+    return regionToMetadataMap.get(regionCode);
+  }
+
+  @Override
+  public PhoneMetadata getMetadataForNonGeographicalRegion(int countryCallingCode) {
+    synchronized (countryCodeToNonGeographicalMetadataMap) {
+      if (!countryCodeToNonGeographicalMetadataMap.containsKey(countryCallingCode)) {
+        loadMetadataFromFile(currentFilePrefix, PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY,
+            countryCallingCode, metadataLoader);
+      }
+    }
+    return countryCodeToNonGeographicalMetadataMap.get(countryCallingCode);
+  }
+
+  // @VisibleForTesting
+  void loadMetadataFromFile(String filePrefix, String regionCode, int countryCallingCode,
+      MetadataLoader metadataLoader) {
+    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);
+    }
+    ObjectInputStream in = null;
+    try {
+      in = new ObjectInputStream(source);
+      PhoneMetadataCollection metadataCollection = loadMetadataAndCloseInput(in);
+      List<PhoneMetadata> metadataList = metadataCollection.getMetadataList();
+      if (metadataList.isEmpty()) {
+        logger.log(Level.SEVERE, "empty metadata: " + fileName);
+        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);
+      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);
+    }
+  }
+
+  /**
+   * Loads the metadata protocol buffer from the given stream and closes the stream afterwards. Any
+   * exceptions that occur while reading the stream are propagated (though exceptions that occur
+   * when the stream is closed will be 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) {
+    PhoneMetadataCollection metadataCollection = new PhoneMetadataCollection();
+    try {
+      metadataCollection.readExternal(source);
+    } 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);
+      }
+    }
+    return metadataCollection;
+  }
+}
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatch.java b/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatch.java
index 4ce3cab..a82210c 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatch.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatch.java
@@ -33,7 +33,7 @@
 
  * <pre>
  * CharSequence text = "Call me at +1 425 882-8080 for details.";
- * RegionCode country = RegionCode.US;
+ * String country = "US";
  * PhoneNumberUtil util = PhoneNumberUtil.getInstance();
  *
  * // Find the first phone number match:
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java b/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java
index 173461c..1882217 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java
@@ -18,15 +18,11 @@
 
 import com.google.i18n.phonenumbers.Phonemetadata.NumberFormat;
 import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
-import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadataCollection;
 import com.google.i18n.phonenumbers.Phonemetadata.PhoneNumberDesc;
 import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
 import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber.CountryCodeSource;
 
-import java.io.IOException;
 import java.io.InputStream;
-import java.io.ObjectInput;
-import java.io.ObjectInputStream;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -78,9 +74,6 @@
   // input from overflowing the regular-expression engine.
   private static final int MAX_INPUT_STRING_LENGTH = 250;
 
-  private static final String META_DATA_FILE_PREFIX =
-      "/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto";
-
   // Region-code for the unknown region.
   private static final String UNKNOWN_REGION = "ZZ";
 
@@ -535,6 +528,9 @@
     abstract boolean verify(PhoneNumber number, String candidate, PhoneNumberUtil util);
   }
 
+  // A source of metadata for different regions.
+  private final MetadataSource metadataSource;
+
   // A mapping from a country calling code to the region codes which denote the region represented
   // by that country calling code. In the case of multiple regions sharing a calling code, such as
   // the NANPA regions, the one indicated with "isMainCountryForCode" in the metadata should be
@@ -546,20 +542,6 @@
   // We set the initial capacity of the HashSet to 35 to offer a load factor of roughly 0.75.
   private final Set<String> nanpaRegions = new HashSet<String>(35);
 
-  // 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>());
-
-  // 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>());
-
   // A cache for frequently used region-specific regular expressions.
   // The initial capacity is set to 100 as this seems to be an optimal value for Android, based on
   // performance measurements.
@@ -574,19 +556,13 @@
   // currently contains < 12 elements so the default capacity of 16 (load factor=0.75) is fine.
   private final Set<Integer> countryCodesForNonGeographicalRegion = new HashSet<Integer>();
 
-  // The prefix of the metadata files from which region data is loaded.
-  private final String currentFilePrefix;
-  // The metadata loader used to inject alternative metadata sources.
-  private final MetadataLoader metadataLoader;
-
   /**
    * This class implements a singleton, the constructor is only visible to facilitate testing.
    */
   // @VisibleForTesting
-  PhoneNumberUtil(String filePrefix, MetadataLoader metadataLoader,
+  PhoneNumberUtil(MetadataSource metadataSource,
       Map<Integer, List<String>> countryCallingCodeToRegionCodeMap) {
-    this.currentFilePrefix = filePrefix;
-    this.metadataLoader = metadataLoader;
+    this.metadataSource = metadataSource;
     this.countryCallingCodeToRegionCodeMap = countryCallingCodeToRegionCodeMap;
     for (Map.Entry<Integer, List<String>> entry : countryCallingCodeToRegionCodeMap.entrySet()) {
       List<String> regionCodes = entry.getValue();
@@ -610,66 +586,6 @@
     nanpaRegions.addAll(countryCallingCodeToRegionCodeMap.get(NANPA_COUNTRY_CODE));
   }
 
-  // @VisibleForTesting
-  void loadMetadataFromFile(String filePrefix, String regionCode, int countryCallingCode,
-      MetadataLoader metadataLoader) {
-    boolean isNonGeoRegion = 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);
-    }
-    ObjectInputStream in = null;
-    try {
-      in = new ObjectInputStream(source);
-      PhoneMetadataCollection metadataCollection = loadMetadataAndCloseInput(in);
-      List<PhoneMetadata> metadataList = metadataCollection.getMetadataList();
-      if (metadataList.isEmpty()) {
-        logger.log(Level.SEVERE, "empty metadata: " + fileName);
-        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);
-      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);
-    }
-  }
-
-  /**
-   * Loads the metadata protocol buffer from the given stream and closes the stream afterwards. Any
-   * exceptions that occur while reading the stream are propagated (though exceptions that occur
-   * when the stream is closed will be 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) {
-    PhoneMetadataCollection metadataCollection = new PhoneMetadataCollection();
-    try {
-      metadataCollection.readExternal(source);
-    } 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);
-      } finally {
-        return metadataCollection;
-      }
-    }
-  }
-
   /**
    * 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
@@ -812,7 +728,7 @@
    * works in such a way that the resultant subscriber number should be diallable, at least on some
    * devices. An example of how this could be used:
    *
-   * <pre>
+   * <pre>{@code
    * PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
    * PhoneNumber number = phoneUtil.parse("16502530000", "US");
    * String nationalSignificantNumber = phoneUtil.getNationalSignificantNumber(number);
@@ -827,7 +743,7 @@
    *   areaCode = "";
    *   subscriberNumber = nationalSignificantNumber;
    * }
-   * </pre>
+   * }</pre>
    *
    * N.B.: area code is a very ambiguous concept, so the I18N team generally recommends against
    * using it for most purposes, but recommends using the more general {@code national_number}
@@ -872,7 +788,7 @@
    * number is formatted in the international format, if there is a subscriber number part that
    * follows. An example of how this could be used:
    *
-   * <pre>
+   * <pre>{@code
    * PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
    * PhoneNumber number = phoneUtil.parse("18002530000", "US");
    * String nationalSignificantNumber = phoneUtil.getNationalSignificantNumber(number);
@@ -888,7 +804,7 @@
    *   nationalDestinationCode = "";
    *   subscriberNumber = nationalSignificantNumber;
    * }
-   * </pre>
+   * }</pre>
    *
    * Refer to the unittests to see the difference between this function and
    * {@link #getLengthOfGeographicalAreaCode}.
@@ -1023,22 +939,40 @@
   /**
    * Create a new {@link PhoneNumberUtil} instance to carry out international phone number
    * formatting, parsing, or validation. The instance is loaded with all metadata by
+   * using the metadataSource specified.
+   *
+   * This method should only be used in the rare case in which you want to manage your own
+   * metadata loading. Calling this method multiple times is very expensive, as each time
+   * a new instance is created from scratch. When in doubt, use {@link #getInstance}.
+   *
+   * @param metadataSource Customized metadata source. This should not be null.
+   * @return a PhoneNumberUtil instance
+   */
+  public static PhoneNumberUtil createInstance(MetadataSource metadataSource) {
+    if (metadataSource == null) {
+      throw new IllegalArgumentException("metadataSource could not be null.");
+    }
+    return new PhoneNumberUtil(metadataSource,
+        CountryCodeToRegionCodeMap.getCountryCodeToRegionCodeMap());
+  }
+
+  /**
+   * Create a new {@link PhoneNumberUtil} instance to carry out international phone number
+   * formatting, parsing, or validation. The instance is loaded with all metadata by
    * using the metadataLoader specified.
    *
    * This method should only be used in the rare case in which you want to manage your own
    * metadata loading. Calling this method multiple times is very expensive, as each time
    * a new instance is created from scratch. When in doubt, use {@link #getInstance}.
    *
-   * @param metadataLoader Customized metadata loader. If null, default metadata loader will
-   *     be used. This should not be null.
+   * @param metadataLoader Customized metadata loader. This should not be null.
    * @return a PhoneNumberUtil instance
    */
   public static PhoneNumberUtil createInstance(MetadataLoader metadataLoader) {
     if (metadataLoader == null) {
       throw new IllegalArgumentException("metadataLoader could not be null.");
     }
-    return new PhoneNumberUtil(META_DATA_FILE_PREFIX, metadataLoader,
-        CountryCodeToRegionCodeMap.getCountryCodeToRegionCodeMap());
+    return createInstance(new MultiFileMetadataSourceImpl(metadataLoader));
   }
 
   /**
@@ -2039,27 +1973,14 @@
     if (!isValidRegionCode(regionCode)) {
       return null;
     }
-    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(currentFilePrefix, regionCode, 0, metadataLoader);
-      }
-    }
-    return regionToMetadataMap.get(regionCode);
+    return metadataSource.getMetadataForRegion(regionCode);
   }
 
   PhoneMetadata getMetadataForNonGeographicalRegion(int countryCallingCode) {
-    synchronized (countryCodeToNonGeographicalMetadataMap) {
-      if (!countryCallingCodeToRegionCodeMap.containsKey(countryCallingCode)) {
-        return null;
-      }
-      if (!countryCodeToNonGeographicalMetadataMap.containsKey(countryCallingCode)) {
-        loadMetadataFromFile(
-            currentFilePrefix, REGION_CODE_FOR_NON_GEO_ENTITY, countryCallingCode, metadataLoader);
-      }
+    if (!countryCallingCodeToRegionCodeMap.containsKey(countryCallingCode)) {
+      return null;
     }
-    return countryCodeToNonGeographicalMetadataMap.get(countryCallingCode);
+    return metadataSource.getMetadataForNonGeographicalRegion(countryCallingCode);
   }
 
   boolean isNumberPossibleForDesc(String nationalNumber, PhoneNumberDesc numberDesc) {
@@ -2132,7 +2053,7 @@
     List<String> regions = countryCallingCodeToRegionCodeMap.get(countryCode);
     if (regions == null) {
       String numberString = getNationalSignificantNumber(number);
-      logger.log(Level.WARNING,
+      logger.log(Level.INFO,
                  "Missing/invalid country_code (" + countryCode + ") for number " + numberString);
       return null;
     }
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java b/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java
index 401d260..c0d01b4 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java
@@ -101,6 +101,16 @@
   }
 
   /**
+   * Helper method to check that the country calling code of the number matches the region it's
+   * being dialed from.
+   */
+  private boolean regionDialingFromMatchesNumber(PhoneNumber number,
+      String regionDialingFrom) {
+    List<String> regionCodes = getRegionCodesForCountryCode(number.getCountryCode());
+    return regionCodes.contains(regionDialingFrom);
+  }
+
+  /**
    * Check whether a short number is a possible number when dialled from a region, given the number
    * in the form of a string, and the region where the number is dialed from. This provides a more
    * lenient check than {@link #isValidShortNumberForRegion}.
@@ -133,6 +143,9 @@
    * @return whether the number is a possible short number
    */
   public boolean isPossibleShortNumberForRegion(PhoneNumber number, String regionDialingFrom) {
+    if (!regionDialingFromMatchesNumber(number, regionDialingFrom)) {
+      return false;
+    }
     PhoneMetadata phoneMetadata =
         MetadataManager.getShortNumberMetadataForRegion(regionDialingFrom);
     if (phoneMetadata == null) {
@@ -156,6 +169,9 @@
     String shortNumber = getNationalSignificantNumber(number);
     for (String region : regionCodes) {
       PhoneMetadata phoneMetadata = MetadataManager.getShortNumberMetadataForRegion(region);
+      if (phoneMetadata == null) {
+        continue;
+      }
       if (matcherApi.matchesPossibleNumber(shortNumber, phoneMetadata.getGeneralDesc())) {
         return true;
       }
@@ -202,6 +218,9 @@
    * @return whether the short number matches a valid pattern
    */
   public boolean isValidShortNumberForRegion(PhoneNumber number, String regionDialingFrom) {
+    if (!regionDialingFromMatchesNumber(number, regionDialingFrom)) {
+      return false;
+    }
     PhoneMetadata phoneMetadata =
         MetadataManager.getShortNumberMetadataForRegion(regionDialingFrom);
     if (phoneMetadata == null) {
@@ -314,6 +333,9 @@
    *     category.
    */
   public ShortNumberCost getExpectedCostForRegion(PhoneNumber number, String regionDialingFrom) {
+    if (!regionDialingFromMatchesNumber(number, regionDialingFrom)) {
+      return ShortNumberCost.UNKNOWN_COST;
+    }
     // Note that regionDialingFrom may be null, in which case phoneMetadata will also be null.
     PhoneMetadata phoneMetadata = MetadataManager.getShortNumberMetadataForRegion(
         regionDialingFrom);
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumbersRegionCodeSet.java b/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumbersRegionCodeSet.java
index 9f3a927..70d4d42 100644
--- a/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumbersRegionCodeSet.java
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumbersRegionCodeSet.java
@@ -26,9 +26,9 @@
 public class ShortNumbersRegionCodeSet {
   // A set of all region codes for which data is available.
   static Set<String> getRegionCodeSet() {
-    // The capacity is set to 309 as there are 232 different entries,
+    // The capacity is set to 317 as there are 238 different entries,
     // and this offers a load factor of roughly 0.75.
-    Set<String> regionCodeSet = new HashSet<String>(309);
+    Set<String> regionCodeSet = new HashSet<String>(317);
 
     regionCodeSet.add("AC");
     regionCodeSet.add("AD");
@@ -69,6 +69,8 @@
     regionCodeSet.add("CA");
     regionCodeSet.add("CC");
     regionCodeSet.add("CD");
+    regionCodeSet.add("CF");
+    regionCodeSet.add("CG");
     regionCodeSet.add("CH");
     regionCodeSet.add("CI");
     regionCodeSet.add("CK");
@@ -93,6 +95,7 @@
     regionCodeSet.add("EE");
     regionCodeSet.add("EG");
     regionCodeSet.add("EH");
+    regionCodeSet.add("ER");
     regionCodeSet.add("ES");
     regionCodeSet.add("ET");
     regionCodeSet.add("FI");
@@ -142,6 +145,7 @@
     regionCodeSet.add("KI");
     regionCodeSet.add("KM");
     regionCodeSet.add("KN");
+    regionCodeSet.add("KP");
     regionCodeSet.add("KR");
     regionCodeSet.add("KW");
     regionCodeSet.add("KY");
@@ -182,6 +186,7 @@
     regionCodeSet.add("MZ");
     regionCodeSet.add("NA");
     regionCodeSet.add("NC");
+    regionCodeSet.add("NE");
     regionCodeSet.add("NF");
     regionCodeSet.add("NG");
     regionCodeSet.add("NI");
@@ -223,6 +228,7 @@
     regionCodeSet.add("SL");
     regionCodeSet.add("SM");
     regionCodeSet.add("SN");
+    regionCodeSet.add("SO");
     regionCodeSet.add("SR");
     regionCodeSet.add("ST");
     regionCodeSet.add("SV");
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AC b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AC
index c1d98fe..8ad87f5 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_AF b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AF
index d80c596..01af034 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_AR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR
index dc775bb..a683ee7 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 f2a61e9..5289438 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_AU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AU
index 1212a88..5011c61 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_BB b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BB
index 8c45b2b..1cdd27e 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 a101edc..06bbe41 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 8d2a5a2..d7ff507 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 2311f57..40c84bd 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 2d1787e..6e9cfe3 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_BR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BR
index 6b97176..5b01fbb 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 f385d53..b34a365 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_BW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BW
index 777d118..d0d2839 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 bf010ac..03bd17f 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_CA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA
index 395baf2..fa4308c 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_CG b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CG
index 52b7b7a..b3c50cd 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_CI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI
index 880fb25..ecc5a52 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_CL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL
index 1469651..8ef7053 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 7e8dff0..b4d0437 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_CR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CR
index 3857111..141362d 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_DE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DE
index 2afa77e..f7030e8 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_DZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DZ
index 92b247f..24d59b4 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_EH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EH
index 7221d94..47acce0 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_ES b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES
index b895148..1e8c238 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_FR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR
index 80e45dd..3c17f9a 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_HK b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK
index 7f3ff70..a9d20fe 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 a66ea52..b1bc5d1 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 7c3657b..10b0884 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 438952c..db1595a 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_ID b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ID
index 90d5487..b3dd4c3 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_IL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL
index 156bed9..9e24745 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_IN b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN
index e67ad27..0710852 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_IT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT
index 926ad1b..09988e6 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_JM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JM
index 8a6be13..c95a0e2 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 85bd447..2493424 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 e3b61f1..19f058b 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 6afb7b7..9c28eb5 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_KH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KH
index 80a41a1..0fbc7d1 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_KW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW
index 27ffde3..0ef6076 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 720d62c..eb8f959 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_LB b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LB
index 3988226..17e48d6 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_LI b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI
index 2525531..2b67e52 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 effd73c..1d3d9d5 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 428ad11..71fb176 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_LU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU
index c7bb66f..77c48b9 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_MA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA
index 73e4eab..e8fd6b8 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_MD b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MD
index a725e1f..7115840 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_MM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM
index c2cbbdf..8c14bed 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 0a931c9..5be9de4 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_MR b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MR
index a00424d..89c5727 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_MU b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU
index 63676ca..657c97a 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 5d3a10a..1e578a8 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_MX b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX
index 7dd414a..7fbee87 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 b1deefa..80ffa2e 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_NA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NA
index f8d7049..8c6eb64 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_NE b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NE
index 8d0e16c..c693ec9 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_NP b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NP
index 49a9ff4..262fafd 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_PH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PH
index 6f565d6..e27c62f 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 729d06b..d1d8904 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 491de26..f05266b 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_PT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT
index 5c15da8..1891fc5 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_RO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RO
index db604af..903dec1 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_SB b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB
index d063ccf..39d1ebc 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 8762a53..6306698 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 c56f4fb..e85a198 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 c23cf2f..626fb0e 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_SH b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SH
index 77d4a79..2c21c2e 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_SL b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL
index 307391e..4bf98c4 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_SO b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SO
index 96ea199..84d0bd2 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_ST b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ST
index f364573..d36d155 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_SZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SZ
index 3cd853b..d26ba68 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_TD b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TD
index b540142..c87d8b5 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_TM b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TM
index 9013b60..065034d 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_TT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT
index 5afe1cc..5347e82 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_TZ b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TZ
index 2e95acf..2f4527a 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 f700468..1995a30 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_US b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US
index cee870e..04521e5 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_VA b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VA
index 72c260f..fa28bc4 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_YT b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YT
index 2f6153d..f09bf95 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_ZW b/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW
index f295d2c..0781632 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_BE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BE
index 1352acf..3909161 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_CD b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CD
index dfa9f7a..60aacaf 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
new file mode 100644
index 0000000..a2c4c03
--- /dev/null
+++ 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
new file mode 100644
index 0000000..91065b5
--- /dev/null
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_CG
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
new file mode 100644
index 0000000..439d230
--- /dev/null
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ER
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 b5977d9..0a64e1c 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 db5f3f8..6d67cb6 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_HR b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HR
index df74303..08316ca 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_KP b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_KP
new file mode 100644
index 0000000..25823d1
--- /dev/null
+++ 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 6e00967..2beffe3 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_LI b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_LI
index 4c5f9bf..6817a85 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 adb6cfc..4c5e712 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_MX b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_MX
index 7e66643..c5fa87e 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_NE b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NE
new file mode 100644
index 0000000..04d35ff
--- /dev/null
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NE
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 f3f8843..d165927 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_PT b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_PT
index 15fb478..ea10c6a 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_SB b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SB
index 53f59a0..4035fa3 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_SO b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SO
new file mode 100644
index 0000000..08103b2
--- /dev/null
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SO
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 7c0cfb7..9b23ccd 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_ZW b/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZW
index 1a97eb4..ab6a58e 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/test/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMapForTesting.java b/libphonenumber/test/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMapForTesting.java
index 6761298..f6a4226 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMapForTesting.java
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMapForTesting.java
@@ -31,10 +31,10 @@
   // countries sharing a calling code, such as the NANPA countries, the one
   // indicated with "isMainCountryForCode" in the metadata should be first.
   static Map<Integer, List<String>> getCountryCodeToRegionCodeMap() {
-    // The capacity is set to 30 as there are 23 different entries,
+    // The capacity is set to 32 as there are 24 different entries,
     // and this offers a load factor of roughly 0.75.
     Map<Integer, List<String>> countryCodeToRegionCodeMap =
-        new HashMap<Integer, List<String>>(30);
+        new HashMap<Integer, List<String>>(32);
 
     ArrayList<String> listWithRegionCode;
 
@@ -63,6 +63,10 @@
     countryCodeToRegionCodeMap.put(44, listWithRegionCode);
 
     listWithRegionCode = new ArrayList<String>(1);
+    listWithRegionCode.add("SE");
+    countryCodeToRegionCodeMap.put(46, listWithRegionCode);
+
+    listWithRegionCode = new ArrayList<String>(1);
     listWithRegionCode.add("PL");
     countryCodeToRegionCodeMap.put(48, listWithRegionCode);
 
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java
new file mode 100644
index 0000000..a1d30c5
--- /dev/null
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2015 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.
+ */
+
+package com.google.i18n.phonenumbers;
+
+/**
+ * Unit tests for MultiFileMetadataSourceImpl.java.
+ */
+public class MultiFileMetadataSourceImplTest extends TestMetadataTestCase  {
+
+  private final MultiFileMetadataSourceImpl multiFileMetadataSource;
+
+  public MultiFileMetadataSourceImplTest() {
+    multiFileMetadataSource = new MultiFileMetadataSourceImpl(TEST_META_DATA_FILE_PREFIX,
+        PhoneNumberUtil.DEFAULT_METADATA_LOADER);
+  }
+
+  public void testMissingMetadataFileThrowsRuntimeException() {
+    // 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(
+          "no/such/file", "XX", -1, PhoneNumberUtil.DEFAULT_METADATA_LOADER);
+      fail("expected exception");
+    } catch (RuntimeException e) {
+      assertTrue("Unexpected error: " + e, e.toString().contains("no/such/file_XX"));
+    }
+    try {
+      multiFileMetadataSource.loadMetadataFromFile("no/such/file",
+          PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY, 123,
+          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 1f98c03..725a590 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/PhoneNumberUtilTest.java
@@ -132,26 +132,6 @@
     assertNull(phoneUtil.getMetadataForNonGeographicalRegion(-1));
   }
 
-  public void testMissingMetadataFileThrowsRuntimeException() {
-    // 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 {
-      phoneUtil.loadMetadataFromFile(
-          "no/such/file", "XX", -1, PhoneNumberUtil.DEFAULT_METADATA_LOADER);
-      fail("expected exception");
-    } catch (RuntimeException e) {
-      assertTrue("Unexpected error: " + e, e.toString().contains("no/such/file_XX"));
-    }
-    try {
-      phoneUtil.loadMetadataFromFile("no/such/file", PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY,
-          123, PhoneNumberUtil.DEFAULT_METADATA_LOADER);
-      fail("expected exception");
-    } catch (RuntimeException e) {
-      assertTrue("Unexpected error: " + e, e.getMessage().contains("no/such/file_123"));
-    }
-  }
-
   public void testGetInstanceLoadUSMetadata() {
     PhoneMetadata metadata = phoneUtil.getMetadataForRegion(RegionCode.US);
     assertEquals("US", metadata.getId());
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/ShortNumberInfoTest.java b/libphonenumber/test/com/google/i18n/phonenumbers/ShortNumberInfoTest.java
index 63661a9..edcb004 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/ShortNumberInfoTest.java
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/ShortNumberInfoTest.java
@@ -333,6 +333,17 @@
         shortInfo.getExpectedCostForRegion(parse("211", RegionCode.CA), RegionCode.CA));
   }
 
+  public void testCountryCallingCodeIsNotIgnored() {
+    // +46 is the country calling code for Sweden (SE), and 40404 is a valid short number in the US.
+    assertFalse(shortInfo.isPossibleShortNumberForRegion(
+        parse("+4640404", RegionCode.SE), RegionCode.US));
+    assertFalse(shortInfo.isValidShortNumberForRegion(
+        parse("+4640404", RegionCode.SE), RegionCode.US));
+    assertEquals(ShortNumberInfo.ShortNumberCost.UNKNOWN_COST,
+        shortInfo.getExpectedCostForRegion(
+            parse("+4640404", RegionCode.SE), RegionCode.US));
+  }
+
   private PhoneNumber parse(String number, String regionCode) {
     try {
       return phoneUtil.parse(number, regionCode);
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/TestMetadataTestCase.java b/libphonenumber/test/com/google/i18n/phonenumbers/TestMetadataTestCase.java
index 8845eb0..99def5a 100644
--- a/libphonenumber/test/com/google/i18n/phonenumbers/TestMetadataTestCase.java
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/TestMetadataTestCase.java
@@ -27,7 +27,7 @@
  * @author Shaopeng Jia
  */
 public class TestMetadataTestCase extends TestCase {
-  private static final String TEST_META_DATA_FILE_PREFIX =
+  protected static final String TEST_META_DATA_FILE_PREFIX =
       "/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting";
 
   protected final PhoneNumberUtil phoneUtil;
@@ -38,7 +38,8 @@
 
   static PhoneNumberUtil initializePhoneUtilForTesting() {
     PhoneNumberUtil phoneUtil = new PhoneNumberUtil(
-        TEST_META_DATA_FILE_PREFIX, PhoneNumberUtil.DEFAULT_METADATA_LOADER,
+        new MultiFileMetadataSourceImpl(TEST_META_DATA_FILE_PREFIX,
+            PhoneNumberUtil.DEFAULT_METADATA_LOADER),
         CountryCodeToRegionCodeMapForTesting.getCountryCodeToRegionCodeMap());
     PhoneNumberUtil.setInstance(phoneUtil);
     return phoneUtil;
diff --git a/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE
new file mode 100644
index 0000000..c9643cd
--- /dev/null
+++ b/libphonenumber/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SE
Binary files differ
diff --git a/pom.xml b/pom.xml
index 9ad04ec..3945fdb 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.0.4</version>
+  <version>7.0.11</version>
   <packaging>pom</packaging>
   <url>https://github.com/googlei18n/libphonenumber/</url>
 
diff --git a/release_notes.txt b/release_notes.txt
index 2d4aead..66b5a87 100644
--- a/release_notes.txt
+++ b/release_notes.txt
@@ -1,3 +1,76 @@
+Sep 16, 2015: libphonenumber-7.0.11
+Metadata changes:
+ - Updated phone metadata for region code(s):
+   IN, KE, LR, MM, MR, NA, NE, PT, RO, SO, TZ, US
+ - New short number metadata for region code(s): CF, CG, ER, KP, NE, SO
+ - Updated short number metadata for region code(s): CD, NO, PT
+ - New geocoding data for country calling code(s): 1854 (en)
+ - Updated geocoding data for country calling code(s): 264 (en)
+ - Updated carrier data for country calling code(s):
+   40 (en), 91 (en), 95 (en), 227 (en), 231 (en), 252 (en), 254 (en), 255 (en),
+   509 (en)
+
+Aug 31, 2015: libphonenumber-7.0.10
+Metadata changes:
+ - Updated phone metadata for region code(s):
+   AU, BY, CR, DZ, EH, ES, HK, HT, IN, JO, MN, MU, ST, TD, TT, ZW
+ - Updated short number metadata for region code(s): HK, KR
+ - Updated geocoding data for country calling code(s): 263 (en)
+ - New carrier data for country calling code(s): 509 (en), 976 (en)
+ - Updated carrier data for country calling code(s):
+   41 (en), 61 (en), 91 (en), 230 (en), 235 (en), 239 (en)
+
+Aug 03, 2015: libphonenumber-7.0.9
+Metadata changes:
+ - Updated phone metadata for region code(s): AR, IN, MX, PL, SZ, YT, ZW
+ - Updated short number metadata for region code(s): MX, ZW
+ - Updated carrier data for country calling code(s): 91 (en), 263 (en)
+
+Jul 14, 2015: libphonenumber-7.0.8
+Metadata changes:
+ - Updated phone metadata for region code(s):
+   AC, BS, BW, CL, DE, DZ, HN, HR, IL, IN, IT, JO, KY, MA, NP, PL, SH, SL, TM,
+   UA, VA
+ - Updated short number metadata for region code(s): HR
+ - Updated geocoding data for country calling code(s): 56 (en, es)
+ - Updated carrier data for country calling code(s):
+   49 (en), 212 (en), 232 (en), 267 (en), 380 (en), 385 (en), 962 (en),
+   972 (en), 977 (en), 993 (en)
+- Updated / refreshed time zone meta data.
+
+Jun 24, 2015: libphonenumber-7.0.7
+Metadata changes:
+ - Updated phone metadata for region code(s):
+   AC, BF, BG, CG, CM, FR, IL, IN, JP, KW, LB, LI, SB, SD, SH, TT
+ - Updated short number metadata for region code(s): GY, SB
+ - New geocoding data for country calling code(s): 592 (en)
+ - Updated geocoding data for country calling code(s):
+   86 (en, zh), 226 (en), 290 (en, fr)
+ - New carrier data for country calling code(s): 592 (en), 689 (en)
+ - Updated carrier data for country calling code(s):
+   7 (en), 60 (en), 91 (en), 237 (en), 242 (en), 249 (en), 359 (en), 961 (en),
+   1868 (en)
+- Updated / refreshed time zone meta data.
+
+May 29, 2015: libphonenumber-7.0.6
+Metadata changes:
+ - Updated phone metadata for region code(s):
+   BB, BR, CR, ID, IL, JO, KW, LK, LU, MD, MM, MV, MY, PH, PK, SC, SE
+ - Updated short number metadata for region code(s): BE, LK, US
+ - Updated carrier data for country calling code(s):
+   60 (en), 63 (en), 92 (en), 94 (en), 95 (en), 248 (en), 373 (en), 960 (en),
+   972 (en), 1246 (en)
+
+Apr 24, 2015: libphonenumber-7.0.5
+* Metadata changes:
+ - Updated phone metadata for region code(s):
+   AF, AS, BD, BE, CA, CI, ID, IN, JM, KH, LI, LU, MU, NE, PL
+ - Updated short number metadata for region code(s): BE, LI
+ - Updated geocoding data for country calling code(s):
+   62 (en), 86 (en, zh), 358 (en, fi, se)
+ - Updated carrier data for country calling code(s):
+   32 (en), 93 (en), 225 (en), 227 (en), 855 (en), 1684 (en), 1876 (en)
+
 Mar 25, 2015: libphonenumber-7.0.4
 * Metadata changes:
  - Updated phone metadata for region code(s): CA, HU, IL, JO, LU, SG, SL, US