From 4ca3b5be65c039c8819820b85ebf88b37977dfbb Mon Sep 17 00:00:00 2001 From: Shaopeng Jia Date: Sat, 31 Jul 2010 08:29:46 +0000 Subject: [PATCH] Improve startup performance by separating generated metadata binary to one per region, and load each only when needed. --- java/build.xml | 6 +- java/release_notes.txt | 9 + .../BuildMetadataProtoFromXml.java | 67 ++- .../phonenumbers/PhoneNumberMetadataProto | Bin 102748 -> 0 bytes .../i18n/phonenumbers/PhoneNumberUtil.java | 101 +++-- .../i18n/phonenumbers/Phonemetadata.java | 5 + .../data/PhoneNumberMetadataProto_AD | Bin 0 -> 315 bytes .../data/PhoneNumberMetadataProto_AE | Bin 0 -> 539 bytes .../data/PhoneNumberMetadataProto_AF | Bin 0 -> 279 bytes .../data/PhoneNumberMetadataProto_AG | Bin 0 -> 360 bytes .../data/PhoneNumberMetadataProto_AI | Bin 0 -> 327 bytes .../data/PhoneNumberMetadataProto_AL | Bin 0 -> 670 bytes .../data/PhoneNumberMetadataProto_AM | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_AN | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_AO | Bin 0 -> 251 bytes .../data/PhoneNumberMetadataProto_AR | Bin 0 -> 2075 bytes .../data/PhoneNumberMetadataProto_AS | Bin 0 -> 309 bytes .../data/PhoneNumberMetadataProto_AT | Bin 0 -> 990 bytes .../data/PhoneNumberMetadataProto_AU | Bin 0 -> 722 bytes .../data/PhoneNumberMetadataProto_AW | Bin 0 -> 330 bytes .../data/PhoneNumberMetadataProto_AZ | Bin 0 -> 478 bytes .../data/PhoneNumberMetadataProto_BA | Bin 0 -> 328 bytes .../data/PhoneNumberMetadataProto_BB | Bin 0 -> 305 bytes .../data/PhoneNumberMetadataProto_BD | Bin 0 -> 995 bytes .../data/PhoneNumberMetadataProto_BE | Bin 0 -> 631 bytes .../data/PhoneNumberMetadataProto_BF | Bin 0 -> 335 bytes .../data/PhoneNumberMetadataProto_BG | Bin 0 -> 569 bytes .../data/PhoneNumberMetadataProto_BH | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_BI | Bin 0 -> 280 bytes .../data/PhoneNumberMetadataProto_BJ | Bin 0 -> 352 bytes .../data/PhoneNumberMetadataProto_BL | Bin 0 -> 233 bytes .../data/PhoneNumberMetadataProto_BM | Bin 0 -> 343 bytes .../data/PhoneNumberMetadataProto_BN | Bin 0 -> 235 bytes .../data/PhoneNumberMetadataProto_BO | Bin 0 -> 122 bytes .../data/PhoneNumberMetadataProto_BR | Bin 0 -> 647 bytes .../data/PhoneNumberMetadataProto_BS | Bin 0 -> 485 bytes .../data/PhoneNumberMetadataProto_BT | Bin 0 -> 344 bytes .../data/PhoneNumberMetadataProto_BW | Bin 0 -> 476 bytes .../data/PhoneNumberMetadataProto_BY | Bin 0 -> 555 bytes .../data/PhoneNumberMetadataProto_BZ | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_CA | Bin 0 -> 553 bytes .../data/PhoneNumberMetadataProto_CD | Bin 0 -> 322 bytes .../data/PhoneNumberMetadataProto_CF | Bin 0 -> 265 bytes .../data/PhoneNumberMetadataProto_CG | Bin 0 -> 231 bytes .../data/PhoneNumberMetadataProto_CH | Bin 0 -> 464 bytes .../data/PhoneNumberMetadataProto_CI | Bin 0 -> 344 bytes .../data/PhoneNumberMetadataProto_CK | Bin 0 -> 118 bytes .../data/PhoneNumberMetadataProto_CL | Bin 0 -> 832 bytes .../data/PhoneNumberMetadataProto_CM | Bin 0 -> 345 bytes .../data/PhoneNumberMetadataProto_CN | Bin 0 -> 2543 bytes .../data/PhoneNumberMetadataProto_CO | Bin 0 -> 135 bytes .../data/PhoneNumberMetadataProto_CR | Bin 0 -> 225 bytes .../data/PhoneNumberMetadataProto_CU | Bin 0 -> 117 bytes .../data/PhoneNumberMetadataProto_CV | Bin 0 -> 280 bytes .../data/PhoneNumberMetadataProto_CY | Bin 0 -> 309 bytes .../data/PhoneNumberMetadataProto_CZ | Bin 0 -> 377 bytes .../data/PhoneNumberMetadataProto_DE | Bin 0 -> 1477 bytes .../data/PhoneNumberMetadataProto_DJ | Bin 0 -> 252 bytes .../data/PhoneNumberMetadataProto_DK | Bin 0 -> 368 bytes .../data/PhoneNumberMetadataProto_DM | Bin 0 -> 352 bytes .../data/PhoneNumberMetadataProto_DO | Bin 0 -> 293 bytes .../data/PhoneNumberMetadataProto_DZ | Bin 0 -> 553 bytes .../data/PhoneNumberMetadataProto_EC | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_EE | Bin 0 -> 655 bytes .../data/PhoneNumberMetadataProto_EG | Bin 0 -> 557 bytes .../data/PhoneNumberMetadataProto_ER | Bin 0 -> 281 bytes .../data/PhoneNumberMetadataProto_ES | Bin 0 -> 339 bytes .../data/PhoneNumberMetadataProto_ET | Bin 0 -> 1037 bytes .../data/PhoneNumberMetadataProto_FI | Bin 0 -> 665 bytes .../data/PhoneNumberMetadataProto_FJ | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_FK | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_FM | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_FO | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_FR | Bin 0 -> 437 bytes .../data/PhoneNumberMetadataProto_GA | Bin 0 -> 509 bytes .../data/PhoneNumberMetadataProto_GB | Bin 0 -> 1716 bytes .../data/PhoneNumberMetadataProto_GD | Bin 0 -> 402 bytes .../data/PhoneNumberMetadataProto_GE | Bin 0 -> 616 bytes .../data/PhoneNumberMetadataProto_GF | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_GG | Bin 0 -> 383 bytes .../data/PhoneNumberMetadataProto_GH | Bin 0 -> 400 bytes .../data/PhoneNumberMetadataProto_GI | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_GL | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_GM | Bin 0 -> 315 bytes .../data/PhoneNumberMetadataProto_GN | Bin 0 -> 341 bytes .../data/PhoneNumberMetadataProto_GP | Bin 0 -> 337 bytes .../data/PhoneNumberMetadataProto_GQ | Bin 0 -> 391 bytes .../data/PhoneNumberMetadataProto_GR | Bin 0 -> 790 bytes .../data/PhoneNumberMetadataProto_GT | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_GU | Bin 0 -> 362 bytes .../data/PhoneNumberMetadataProto_GW | Bin 0 -> 259 bytes .../data/PhoneNumberMetadataProto_GY | Bin 0 -> 117 bytes .../data/PhoneNumberMetadataProto_HK | Bin 0 -> 434 bytes .../data/PhoneNumberMetadataProto_HN | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_HR | Bin 0 -> 848 bytes .../data/PhoneNumberMetadataProto_HT | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_HU | Bin 0 -> 449 bytes .../data/PhoneNumberMetadataProto_ID | Bin 0 -> 1019 bytes .../data/PhoneNumberMetadataProto_IE | Bin 0 -> 1041 bytes .../data/PhoneNumberMetadataProto_IL | Bin 0 -> 687 bytes .../data/PhoneNumberMetadataProto_IM | Bin 0 -> 376 bytes .../data/PhoneNumberMetadataProto_IN | Bin 0 -> 2843 bytes .../data/PhoneNumberMetadataProto_IO | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_IQ | Bin 0 -> 405 bytes .../data/PhoneNumberMetadataProto_IR | Bin 0 -> 327 bytes .../data/PhoneNumberMetadataProto_IS | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_IT | Bin 0 -> 814 bytes .../data/PhoneNumberMetadataProto_JE | Bin 0 -> 390 bytes .../data/PhoneNumberMetadataProto_JM | Bin 0 -> 447 bytes .../data/PhoneNumberMetadataProto_JO | Bin 0 -> 505 bytes .../data/PhoneNumberMetadataProto_JP | Bin 0 -> 4345 bytes .../data/PhoneNumberMetadataProto_KE | Bin 0 -> 415 bytes .../data/PhoneNumberMetadataProto_KG | Bin 0 -> 562 bytes .../data/PhoneNumberMetadataProto_KH | Bin 0 -> 468 bytes .../data/PhoneNumberMetadataProto_KI | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_KM | Bin 0 -> 243 bytes .../data/PhoneNumberMetadataProto_KN | Bin 0 -> 336 bytes .../data/PhoneNumberMetadataProto_KP | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_KR | Bin 0 -> 1284 bytes .../data/PhoneNumberMetadataProto_KW | Bin 0 -> 321 bytes .../data/PhoneNumberMetadataProto_KY | Bin 0 -> 435 bytes .../data/PhoneNumberMetadataProto_KZ | Bin 0 -> 370 bytes .../data/PhoneNumberMetadataProto_LA | Bin 0 -> 422 bytes .../data/PhoneNumberMetadataProto_LB | Bin 0 -> 457 bytes .../data/PhoneNumberMetadataProto_LC | Bin 0 -> 380 bytes .../data/PhoneNumberMetadataProto_LI | Bin 0 -> 711 bytes .../data/PhoneNumberMetadataProto_LK | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_LR | Bin 0 -> 334 bytes .../data/PhoneNumberMetadataProto_LS | Bin 0 -> 240 bytes .../data/PhoneNumberMetadataProto_LT | Bin 0 -> 491 bytes .../data/PhoneNumberMetadataProto_LU | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_LV | Bin 0 -> 265 bytes .../data/PhoneNumberMetadataProto_LY | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_MA | Bin 0 -> 672 bytes .../data/PhoneNumberMetadataProto_MC | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_MD | Bin 0 -> 514 bytes .../data/PhoneNumberMetadataProto_ME | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_MF | Bin 0 -> 239 bytes .../data/PhoneNumberMetadataProto_MG | Bin 0 -> 333 bytes .../data/PhoneNumberMetadataProto_MH | Bin 0 -> 117 bytes .../data/PhoneNumberMetadataProto_MK | Bin 0 -> 452 bytes .../data/PhoneNumberMetadataProto_ML | Bin 0 -> 379 bytes .../data/PhoneNumberMetadataProto_MM | Bin 0 -> 548 bytes .../data/PhoneNumberMetadataProto_MN | Bin 0 -> 529 bytes .../data/PhoneNumberMetadataProto_MO | Bin 0 -> 246 bytes .../data/PhoneNumberMetadataProto_MP | Bin 0 -> 380 bytes .../data/PhoneNumberMetadataProto_MQ | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_MR | Bin 0 -> 315 bytes .../data/PhoneNumberMetadataProto_MS | Bin 0 -> 276 bytes .../data/PhoneNumberMetadataProto_MT | Bin 0 -> 118 bytes .../data/PhoneNumberMetadataProto_MU | Bin 0 -> 388 bytes .../data/PhoneNumberMetadataProto_MV | Bin 0 -> 117 bytes .../data/PhoneNumberMetadataProto_MW | Bin 0 -> 472 bytes .../data/PhoneNumberMetadataProto_MX | Bin 0 -> 1731 bytes .../data/PhoneNumberMetadataProto_MY | Bin 0 -> 602 bytes .../data/PhoneNumberMetadataProto_MZ | Bin 0 -> 342 bytes .../data/PhoneNumberMetadataProto_Mapping | 408 ++++++++++++++++++ .../data/PhoneNumberMetadataProto_NA | Bin 0 -> 866 bytes .../data/PhoneNumberMetadataProto_NC | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_NE | Bin 0 -> 419 bytes .../data/PhoneNumberMetadataProto_NF | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_NG | Bin 0 -> 879 bytes .../data/PhoneNumberMetadataProto_NI | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_NL | Bin 0 -> 585 bytes .../data/PhoneNumberMetadataProto_NO | Bin 0 -> 529 bytes .../data/PhoneNumberMetadataProto_NP | Bin 0 -> 469 bytes .../data/PhoneNumberMetadataProto_NR | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_NU | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_NZ | Bin 0 -> 671 bytes .../data/PhoneNumberMetadataProto_OM | Bin 0 -> 365 bytes .../data/PhoneNumberMetadataProto_PA | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_PE | Bin 0 -> 522 bytes .../data/PhoneNumberMetadataProto_PF | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_PG | Bin 0 -> 408 bytes .../data/PhoneNumberMetadataProto_PH | Bin 0 -> 917 bytes .../data/PhoneNumberMetadataProto_PK | Bin 0 -> 1699 bytes .../data/PhoneNumberMetadataProto_PL | Bin 0 -> 549 bytes .../data/PhoneNumberMetadataProto_PM | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_PR | Bin 0 -> 300 bytes .../data/PhoneNumberMetadataProto_PS | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_PT | Bin 0 -> 407 bytes .../data/PhoneNumberMetadataProto_PW | Bin 0 -> 111 bytes .../data/PhoneNumberMetadataProto_PY | Bin 0 -> 117 bytes .../data/PhoneNumberMetadataProto_QA | Bin 0 -> 307 bytes .../data/PhoneNumberMetadataProto_RE | Bin 0 -> 345 bytes .../data/PhoneNumberMetadataProto_RO | Bin 0 -> 417 bytes .../data/PhoneNumberMetadataProto_RS | Bin 0 -> 511 bytes .../data/PhoneNumberMetadataProto_RU | Bin 0 -> 526 bytes .../data/PhoneNumberMetadataProto_RW | Bin 0 -> 343 bytes .../data/PhoneNumberMetadataProto_SA | Bin 0 -> 565 bytes .../data/PhoneNumberMetadataProto_SB | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_SC | Bin 0 -> 505 bytes .../data/PhoneNumberMetadataProto_SD | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_SE | Bin 0 -> 1548 bytes .../data/PhoneNumberMetadataProto_SG | Bin 0 -> 407 bytes .../data/PhoneNumberMetadataProto_SH | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_SI | Bin 0 -> 619 bytes .../data/PhoneNumberMetadataProto_SK | Bin 0 -> 514 bytes .../data/PhoneNumberMetadataProto_SL | Bin 0 -> 285 bytes .../data/PhoneNumberMetadataProto_SM | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_SN | Bin 0 -> 424 bytes .../data/PhoneNumberMetadataProto_SO | Bin 0 -> 298 bytes .../data/PhoneNumberMetadataProto_SR | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_ST | Bin 0 -> 214 bytes .../data/PhoneNumberMetadataProto_SV | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_SY | Bin 0 -> 397 bytes .../data/PhoneNumberMetadataProto_SZ | Bin 0 -> 412 bytes .../data/PhoneNumberMetadataProto_TC | Bin 0 -> 369 bytes .../data/PhoneNumberMetadataProto_TD | Bin 0 -> 307 bytes .../data/PhoneNumberMetadataProto_TF | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_TG | Bin 0 -> 277 bytes .../data/PhoneNumberMetadataProto_TH | Bin 0 -> 501 bytes .../data/PhoneNumberMetadataProto_TJ | Bin 0 -> 550 bytes .../data/PhoneNumberMetadataProto_TK | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_TL | Bin 0 -> 295 bytes .../data/PhoneNumberMetadataProto_TM | Bin 0 -> 273 bytes .../data/PhoneNumberMetadataProto_TN | Bin 0 -> 269 bytes .../data/PhoneNumberMetadataProto_TO | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_TR | Bin 0 -> 307 bytes .../data/PhoneNumberMetadataProto_TT | Bin 0 -> 412 bytes .../data/PhoneNumberMetadataProto_TV | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_TW | Bin 0 -> 376 bytes .../data/PhoneNumberMetadataProto_TZ | Bin 0 -> 473 bytes .../data/PhoneNumberMetadataProto_UA | Bin 0 -> 1013 bytes .../data/PhoneNumberMetadataProto_UG | Bin 0 -> 488 bytes .../data/PhoneNumberMetadataProto_US | Bin 0 -> 1485 bytes .../data/PhoneNumberMetadataProto_UY | Bin 0 -> 116 bytes .../data/PhoneNumberMetadataProto_UZ | Bin 0 -> 284 bytes .../data/PhoneNumberMetadataProto_VA | Bin 0 -> 209 bytes .../data/PhoneNumberMetadataProto_VC | Bin 0 -> 422 bytes .../data/PhoneNumberMetadataProto_VE | Bin 0 -> 356 bytes .../data/PhoneNumberMetadataProto_VG | Bin 0 -> 407 bytes .../data/PhoneNumberMetadataProto_VI | Bin 0 -> 427 bytes .../data/PhoneNumberMetadataProto_VN | Bin 0 -> 920 bytes .../data/PhoneNumberMetadataProto_VU | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_WF | Bin 0 -> 110 bytes .../data/PhoneNumberMetadataProto_WS | Bin 0 -> 339 bytes .../data/PhoneNumberMetadataProto_YE | Bin 0 -> 386 bytes .../data/PhoneNumberMetadataProto_YT | Bin 0 -> 224 bytes .../data/PhoneNumberMetadataProto_ZA | Bin 0 -> 358 bytes .../data/PhoneNumberMetadataProto_ZM | Bin 0 -> 326 bytes .../data/PhoneNumberMetadataProto_ZW | Bin 0 -> 1366 bytes .../phonenumbers/AsYouTypeFormatterTest.java | 13 +- .../PhoneNumberMetadataProtoForTesting | Bin 8113 -> 0 bytes .../phonenumbers/PhoneNumberUtilTest.java | 12 +- .../data/PhoneNumberMetadataProtoForTesting | 0 .../PhoneNumberMetadataProtoForTesting_AD | Bin 0 -> 110 bytes .../PhoneNumberMetadataProtoForTesting_AO | Bin 0 -> 251 bytes .../PhoneNumberMetadataProtoForTesting_AR | Bin 0 -> 798 bytes .../PhoneNumberMetadataProtoForTesting_AU | Bin 0 -> 322 bytes .../PhoneNumberMetadataProtoForTesting_BS | Bin 0 -> 329 bytes .../PhoneNumberMetadataProtoForTesting_DE | Bin 0 -> 603 bytes .../PhoneNumberMetadataProtoForTesting_GB | Bin 0 -> 482 bytes .../PhoneNumberMetadataProtoForTesting_IT | Bin 0 -> 418 bytes .../PhoneNumberMetadataProtoForTesting_JP | Bin 0 -> 399 bytes .../PhoneNumberMetadataProtoForTesting_KR | Bin 0 -> 1524 bytes .../PhoneNumberMetadataProtoForTesting_MX | Bin 0 -> 903 bytes ...PhoneNumberMetadataProtoForTesting_Mapping | 30 ++ .../PhoneNumberMetadataProtoForTesting_NZ | Bin 0 -> 487 bytes .../PhoneNumberMetadataProtoForTesting_PL | Bin 0 -> 271 bytes .../PhoneNumberMetadataProtoForTesting_RE | Bin 0 -> 353 bytes .../PhoneNumberMetadataProtoForTesting_SG | Bin 0 -> 356 bytes .../PhoneNumberMetadataProtoForTesting_US | Bin 0 -> 451 bytes .../PhoneNumberMetadataProtoForTesting_YT | Bin 0 -> 225 bytes 264 files changed, 587 insertions(+), 64 deletions(-) delete mode 100644 java/src/com/google/i18n/phonenumbers/PhoneNumberMetadataProto create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AD create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AF create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AI create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AL create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AN create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AS create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AT create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AU create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AW create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BB create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BI create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BJ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BL create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BN create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BS create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BT create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BW create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BZ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CD create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CF create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CH create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CK create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CU create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CV create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CY create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DJ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DZ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EC create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ER create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ET create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FI create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FJ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FK create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GB create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GD create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GF create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GH create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GI create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GL create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GN create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GP create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GQ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GT create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GU create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GW create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GY create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HN create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HT create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ID create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IQ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IS create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KH create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KI create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KN create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KP create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KY create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KZ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LB create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LC create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LK create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LS create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LT create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LY create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MC create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MD create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ME create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MF create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MH create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MK create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ML create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MN create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MP create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MQ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MS create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MT create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MV create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MW create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MY create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MZ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_Mapping create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NC create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NF create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NI create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NL create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NP create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NU create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NZ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_OM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PF create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PH create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PK create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PS create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PW create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PY create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_QA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RS create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RU create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RW create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SC create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SD create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SH create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SI create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SK create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SN create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ST create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SV create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SY create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SZ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TC create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TD create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TF create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TH create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TJ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TK create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TL create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TN create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TO create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TR create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TV create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TW create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TZ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UY create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UZ create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VC create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VG create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VI create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VN create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VU create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WF create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_WS create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YE create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YT create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZA create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZM create mode 100644 java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW delete mode 100644 java/test/com/google/i18n/phonenumbers/PhoneNumberMetadataProtoForTesting create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AD create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AO create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AR create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_BS create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GB create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_IT create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_JP create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_KR create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_MX create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_Mapping create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_NZ create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_RE create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US create mode 100644 java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT diff --git a/java/build.xml b/java/build.xml index 27c291098..990b0aca4 100644 --- a/java/build.xml +++ b/java/build.xml @@ -37,7 +37,7 @@ - + @@ -50,10 +50,10 @@ - + - + diff --git a/java/release_notes.txt b/java/release_notes.txt index afc82c1aa..3744de895 100644 --- a/java/release_notes.txt +++ b/java/release_notes.txt @@ -1,3 +1,12 @@ +July 31th, 2010 + +* Improve startup performance + - Separate generated metadata binary file to one file per region + - Preload US at start up, and load other region at the time when needed + - Create a file containing mapping from country calling code to region code, + and load it at startup + - Same change also applied to unittests + July 30th, 2010 * Metadata change: diff --git a/java/resources/com/google/i18n/phonenumbers/BuildMetadataProtoFromXml.java b/java/resources/com/google/i18n/phonenumbers/BuildMetadataProtoFromXml.java index 7043a34ef..eef94d537 100644 --- a/java/resources/com/google/i18n/phonenumbers/BuildMetadataProtoFromXml.java +++ b/java/resources/com/google/i18n/phonenumbers/BuildMetadataProtoFromXml.java @@ -24,9 +24,15 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; +import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.IOException; import java.io.ObjectOutputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; @@ -52,13 +58,22 @@ public class BuildMetadataProtoFromXml { private static final Logger LOGGER = Logger.getLogger(BuildMetadataProtoFromXml.class.getName()); private static Boolean liteBuild; + // A mapping from a country code to the region codes which denote the country/region + // represented by that country code. In the case of multiple countries sharing a calling code, + // such as the NANPA countries, the one indicated with "isMainCountryForCode" in the metadata + // should be first. The initial capacity is set to 300 as there are roughly 200 different + // country codes, and this offers a load factor of roughly 0.75. + private static final HashMap > COUNTRY_CODE_TO_REGION_CODE_MAP = + new HashMap >(310); + public static void main(String[] args) throws Exception { String inputFile = args[0]; - String outputFile = args[1]; + String filePrefix = args[1]; + String outputMappingFile = filePrefix + + PhoneNumberUtil.COUNTRY_CODE_TO_REGION_CODE_MAP_FILE_SUFFIX; liteBuild = args.length > 2 && Boolean.getBoolean(args[2]); File xmlFile = new File(inputFile); - FileOutputStream output = new FileOutputStream(outputFile); DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = builderFactory.newDocumentBuilder(); Document document = builder.parse(xmlFile); @@ -71,15 +86,51 @@ public class BuildMetadataProtoFromXml { Element territoryElement = (Element) territory.item(i); String regionCode = territoryElement.getAttribute("id"); PhoneMetadata metadata = loadCountryMetadata(regionCode, territoryElement); + fillCountryCodeToRegionCodeMap(metadata, regionCode); metadataCollection.addMetadata(metadata); + FileOutputStream outputForRegion = new FileOutputStream(filePrefix + "_" + regionCode); + ObjectOutputStream out = new ObjectOutputStream(outputForRegion); + metadataCollection.writeExternal(out); + out.close(); + metadataCollection.clear(); + } + writeCountryCallingCodeMappingToFile(outputMappingFile); + } + + private static void writeCountryCallingCodeMappingToFile(String file) throws IOException { + BufferedWriter writer = + new BufferedWriter(new FileWriter(file)); + for (Integer countryCallingCode : COUNTRY_CODE_TO_REGION_CODE_MAP.keySet()) { + writer.write(countryCallingCode.toString()); + writer.newLine(); + for (String regionCode : COUNTRY_CODE_TO_REGION_CODE_MAP.get(countryCallingCode)) { + writer.write(' '); + writer.write(regionCode); + } + writer.newLine(); + } + writer.flush(); + writer.close(); + } + + static void fillCountryCodeToRegionCodeMap(PhoneMetadata metadata, String regionCode) { + int countryCode = metadata.getCountryCode(); + if (COUNTRY_CODE_TO_REGION_CODE_MAP.containsKey(countryCode)) { + if (metadata.getMainCountryForCode()) { + COUNTRY_CODE_TO_REGION_CODE_MAP.get(countryCode).add(0, regionCode); + } else { + COUNTRY_CODE_TO_REGION_CODE_MAP.get(countryCode).add(regionCode); + } + } else { + // For most countries, there will be only one region code for the country dialing code. + List listWithRegionCode = new ArrayList(1); + listWithRegionCode.add(regionCode); + COUNTRY_CODE_TO_REGION_CODE_MAP.put(countryCode, listWithRegionCode); } - ObjectOutputStream out = new ObjectOutputStream(output); - metadataCollection.writeExternal(out); - out.close(); } private static String validateRE(String regex) { - Pattern regexPattern = Pattern.compile(regex); + Pattern.compile(regex); // return regex itself if it is of correct regex syntax return regex; } @@ -151,7 +202,7 @@ public class BuildMetadataProtoFromXml { LOGGER.log(Level.SEVERE, "Only one format pattern for a numberFormat element should be defined."); throw new RuntimeException("Invalid number of format patterns for country: " + - regionCode.toString()); + regionCode); } format.setFormat(validateRE(formatPattern.item(0).getFirstChild().getNodeValue())); metadata.addNumberFormat(format); @@ -171,7 +222,7 @@ public class BuildMetadataProtoFromXml { LOGGER.log(Level.SEVERE, "Only one format pattern for a numberFormat element should be defined."); throw new RuntimeException("Invalid number of format patterns for country: " + - regionCode.toString()); + regionCode); } format.setFormat(validateRE(formatPattern.item(0).getFirstChild().getNodeValue())); if (numberFormatElement.hasAttribute("carrierCodeFormattingRule")) { diff --git a/java/src/com/google/i18n/phonenumbers/PhoneNumberMetadataProto b/java/src/com/google/i18n/phonenumbers/PhoneNumberMetadataProto deleted file mode 100644 index c003b67f2cad8e7e4eb6e66adeaed8146a30f445..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102748 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 > countryCodeToRegionCodeMap = - new HashMap >(310); + private final HashMap > countryCodeToRegionCodeMap = + new HashMap >(300); + + // The set of countries the library support. There are roughly 220 countries of them and we + // set the initial capacity of the HashSet to 300 to offer a load factor of roughly 0.75. + private final HashSet supportedCountries = new HashSet(300); // The set of countries that share country code 1. There are roughly 26 countries of them and we // set the initial capacity of the HashSet to 35 to offer a load factor of roughly 0.75. @@ -348,33 +357,49 @@ public class PhoneNumberUtil { private PhoneNumberUtil() { } - private void init(InputStream source) { - // Read in metadata for each country. + private void init(String filePrefix) { + currentFilePrefix = filePrefix; + InputStream mapping = + PhoneNumberUtil.class.getResourceAsStream(currentFilePrefix + + COUNTRY_CODE_TO_REGION_CODE_MAP_FILE_SUFFIX); + // Read in the mapping from country calling codes to region codes. + try { + BufferedReader in_reader = new BufferedReader(new InputStreamReader(mapping)); + String line = null; + while ((line = in_reader.readLine()) != null) { + int countryCode = Integer.parseInt(line); + // This won't be null, as the line after country code will be two-letter region codes + // separated by a white space. The line will start with a white space. + line = in_reader.readLine(); + int numberOfRegionCode = line.length() / 3; + // For most countries, there will be only one region code for the country dialing code. + ArrayList listWithRegionCode = new ArrayList(1); + for (int i = 0; i < numberOfRegionCode; i++) { + String twoLetterRegionCode = line.substring(i * 3 + 1, i * 3 + 3); + listWithRegionCode.add(twoLetterRegionCode); + supportedCountries.add(twoLetterRegionCode); + } + countryCodeToRegionCodeMap.put(countryCode, listWithRegionCode); + } + nanpaCountries.addAll(countryCodeToRegionCodeMap.get(NANPA_COUNTRY_CODE)); + in_reader.close(); + // Only preload US metadata at startup. Other metadata will be loaded later when needed. + loadMetadataForRegionFromFile(currentFilePrefix, "US"); + } catch (IOException e) { + LOGGER.log(Level.WARNING, e.toString()); + } + } + + private void loadMetadataForRegionFromFile(String filePrefix, String regionCode) { + InputStream source = + PhoneNumberUtil.class.getResourceAsStream(filePrefix + "_" + regionCode); + ObjectInputStream in = null; try { - ObjectInputStream in = new ObjectInputStream(source); + in = new ObjectInputStream(source); PhoneMetadataCollection metadataCollection = new PhoneMetadataCollection(); metadataCollection.readExternal(in); for (PhoneMetadata metadata : metadataCollection.getMetadataList()) { - String regionCode = metadata.getId(); countryToMetadataMap.put(regionCode, metadata); - countryToMetadataMap.put(regionCode.toLowerCase(), metadata); - int countryCode = metadata.getCountryCode(); - if (countryCodeToRegionCodeMap.containsKey(countryCode)) { - if (metadata.getMainCountryForCode()) { - countryCodeToRegionCodeMap.get(countryCode).add(0, regionCode); - } else { - countryCodeToRegionCodeMap.get(countryCode).add(regionCode); - } - } else { - // For most countries, there will be only one region code for the country dialing code. - List listWithRegionCode = new ArrayList(1); - listWithRegionCode.add(regionCode); - countryCodeToRegionCodeMap.put(countryCode, listWithRegionCode); - } - if (countryCode == NANPA_COUNTRY_CODE) { - nanpaCountries.add(regionCode); - nanpaCountries.add(regionCode.toLowerCase()); - } } } catch (IOException e) { LOGGER.log(Level.WARNING, e.toString()); @@ -601,10 +626,10 @@ public class PhoneNumberUtil { return normalizedNumber.toString(); } - static synchronized PhoneNumberUtil getInstance(InputStream source) { + static synchronized PhoneNumberUtil getInstance(String baseFileLocation) { if (instance == null) { instance = new PhoneNumberUtil(); - instance.init(source); + instance.init(baseFileLocation); } return instance; } @@ -620,8 +645,8 @@ public class PhoneNumberUtil { * Convenience method to enable tests to get a list of what countries the library has metadata * for. */ -public Set getSupportedCountries() { - return countryToMetadataMap.keySet(); + public Set getSupportedCountries() { + return supportedCountries; } /** @@ -637,8 +662,7 @@ public Set getSupportedCountries() { public static synchronized PhoneNumberUtil getInstance() { if (instance == null) { instance = new PhoneNumberUtil(); - InputStream in = PhoneNumberUtil.class.getResourceAsStream(META_DATA_FILE); - instance.init(in); + instance.init(META_DATA_FILE_PREFIX); } return instance; } @@ -647,7 +671,7 @@ public Set getSupportedCountries() { * Helper function to check region code is not unknown or null. */ private boolean isValidRegionCode(String regionCode) { - return countryToMetadataMap.containsKey(regionCode); + return regionCode != null && supportedCountries.contains(regionCode.toUpperCase()); } /** @@ -1147,9 +1171,13 @@ public Set getSupportedCountries() { } PhoneMetadata getMetadataForRegion(String regionCode) { - if (regionCode == null) { + if (!isValidRegionCode(regionCode)) { return null; } + regionCode = regionCode.toUpperCase(); + if (!countryToMetadataMap.containsKey(regionCode)) { + loadMetadataForRegionFromFile(currentFilePrefix, regionCode); + } return countryToMetadataMap.get(regionCode); } @@ -1282,7 +1310,7 @@ public Set getSupportedCountries() { * @return true if regionCode is one of the countries under NANPA */ public boolean isNANPACountry(String regionCode) { - return nanpaCountries.contains(regionCode); + return regionCode != null && nanpaCountries.contains(regionCode.toUpperCase()); } /** @@ -1760,9 +1788,6 @@ public Set getSupportedCountries() { parseHelper(numberToParse, defaultCountry, true, phoneNumber); } - - - /** * Parses a string and fills up the phoneNumber. This method is the same as the public * parse() method, with the exception that it allows the default country to be null, for use by diff --git a/java/src/com/google/i18n/phonenumbers/Phonemetadata.java b/java/src/com/google/i18n/phonenumbers/Phonemetadata.java index a6a91d879..7f2e58f43 100644 --- a/java/src/com/google/i18n/phonenumbers/Phonemetadata.java +++ b/java/src/com/google/i18n/phonenumbers/Phonemetadata.java @@ -742,5 +742,10 @@ public final class Phonemetadata { metadata_.add(metadata); } } + + public PhoneMetadataCollection clear() { + metadata_.clear(); + return this; + } } } diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AD b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AD new file mode 100644 index 0000000000000000000000000000000000000000..e6c2e2f8288df449231de41e72d8dfe13f65b116 GIT binary patch literal 315 zcmZusOA5j;5S3l04Q-WP>tb>N8U2Xe-M;-?s*Q(H_1UvKYA6k#} z9HE^oyuiTc{T6!ySb7Z-;^sTN8QtR8GGX{L{{Bg{2Nb!GkP?mFPtYPmq;`2&6s2mN a4wWehZ5cMmmsvP)&>EM2YFP!C=zrtK)aa)Y`i1dv&h@x-OmGBQMN>yX;~5l@=Wia6;_&seqI z(Wg$1Jf0jkt!Lbf;c+ygPx7)0i~rp;BiTIzi!UUq5Xf<1S-8N~oEpdt)2lIT^_XLw zm1$WcUIh)AvCV)H9_ZQajPTqTgJiyZQ~oYXlF9% J&I12G`~U|1W4!yqqnj3w$bL@-|PEU=wpN?OXvT@U3HQ zN(*%{sGUtU91K)VOmYIM;1$Zs$9(iz!4G{$7dyD@ixm4H5`#c!ffa^e=G@jXr yqH^fGZJ7VlP?%`htyP3YqR#P7V)(#X+DOEyO<(B)Qr2GO18Kop1I!05LHq%NLPkvh literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AI b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AI new file mode 100644 index 0000000000000000000000000000000000000000..b880a406fd5416ac83b053d68722f93d71e2142d GIT binary patch literal 327 zcmZvYK@P$o5JiU?jWKa=Jb_I#0ZIpOq3P0%7eIENLZ>(KYTm(*#Y0)={4>3zf=HPNIzQ|F$t^Z*Qgkt0`3eJ*+sBHkLwJ?kK5<;CUa=MrGfXr_%pGhVpFBR`~EJ+c4* literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AL b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AL new file mode 100644 index 0000000000000000000000000000000000000000..1684c8452584cc7816c4686a45dbbf8fa8ee2b21 GIT binary patch literal 670 zcmaJP2XUc5k?m7YR7#}GV(SMv_OstINW!9`M? zdhb=eRQ1<4&EJS-A4H^-qPuLiKK9SA?{O#rAq^!V_zk{0J`9SMlIR8~=(B#fH+XUz zQlHyx*OzP@S127mW8V}DxW(Brv<(d9*fBZvC5fgf4mHhC{K$2}^)WF!faCk$dP&+z z0c59=(jN_*Bby0^SH@W9LrgGy9&&(7a3YX7VuyGZLc8aHvPxPb??#+?OQe{3g}+S<2nM9P9qpa$s^>x;tVNi4DIY`CoimH_lR}8&`fJmq{bIkM5lCFyQY>F z65P2sBh^_V#>OkZ4% j80u8v;=rQac!=j>QXJm068q;p-~#CVf$zjr07Rl60{o6j literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AM b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AM new file mode 100644 index 0000000000000000000000000000000000000000..fa2e8019382e1e31ef9a19377aa0691ae0208cf6 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5U~=>YnpDQXWMBX^kkJB00L_K~0Js+l A9{>OV literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AN b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AN new file mode 100644 index 0000000000000000000000000000000000000000..3d50a13fce8c92999669c5d30e3943e1637f4807 GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U~=?hU|H)AQ@Mc>Y6(3xQwLG~#8}T^hf9{h4mGo*Hq5$8e*~gk7<^+dS+j zJg&4h*7*?ogs5+6H@w$6n_4JN1@DIbS!p{K8%xOAjU{Cr(a?wg>@P|(^~46Ys8F6g)m)Ua_rjwFe3 z9a@iAhd5Bc(mq7$Y>2Z=S%uLQogG$CN*M~V6pGC3(g=NOQ7$Emi`jN0Wub<_2LVWR zIUrylxsAt@EHpGlSg4~x&p;a#rfM#$4%`BYfGv>=6(*voJ{vm@vQCjEX)<+(WgcL0 zwJ!3p3N)fihy%)E5nO!c+CvF|ME3@eR5emYZJ!zXxdG?|qgZA_RUlWOP$C6xq+hMj zc@Qg+(qJdlAn^_7)*8q~yQIOayn$3KJtT)F{T-qwqJXq4CFNC_DG$U+H_v?I++2^Q zBDTQaIQUpIMsM z5^Tj82&F{ISa0@aY(2pu*$Iph(Z zB>9XWB)%qlxn7?U7$eyn)NPK$y*{t)G9mus=kGv@VNQix!d#%6Bda{#X0Y1>4qK(o wLIN0!gCFwNGX5!Cbp(H^%YFF&?Hq)$ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AS b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AS new file mode 100644 index 0000000000000000000000000000000000000000..d200cff11202c8b7c8e56bec4049d7d4890a9039 GIT binary patch literal 309 zcmZvYJr2S!427K{5JF;NV`iXIk(@L?4h!l9SQtw;P66qSxEgohwFR|9GdNECJ-;~b z4=tZWsvrcVXj6NM&HeF;t)eydP-t#ZqJtOfkC(GCsVtMV$+;9l5=pVvvB|;OsRq3| zg)!Qc7Wy4dkOzp3lRv(K3-Ieq{D literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AT b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AT new file mode 100644 index 0000000000000000000000000000000000000000..b7cf2629a970f390339a6116a7c148228be39042 GIT binary patch literal 990 zcmZ`&OODhq5OumW(f|?~HmpJFMF%F5%T@klHfS!uiWSw_%_+dS5!c}u+<{m2bWa+I zMH0vL>b-K+^RGYd=7)3p-_E&V7~JjY>8IQiuYJk3w7_>l0Dobv$1e{752>WQ)S$#N zm8C`v9I=s<1C!O<}BgBdQ@b6pN8W zZ5XA?Nz+nimAH&!@04F#MIOBKQZ>)Z>B&Ojo)F5xW1Vch>Ga@UQ(%cHm)T<)pR7m` zsCg6z3iQPjcS5{7Bj$Bx$$fOMl1L{4$=l-92Vl2y^E0q`e*u1kSSG47zDObKpr^T? zXjAGrci!Z_FGwPfc6!3N{v$>&V!N-8gTo8va&L0^ryFMp1bTUH_xKGK{p@z$yTJ|5 zFKoHJyE`hO@kgjOi;nK*KpzglJne4D+K1i^Zto8?VDnu=uIB{5UL|CvR3+6&HFIb_ zxf+2cbiR9os)n-ov1-}!-xa<&6;NZKL}=ztFi)(v&%q!Vw2OVdZLK87EJxLy-md7DgE75?_~hC| zq@_45ft=ukOTpDAxa4)G2tnMZzS9@W5}M0v0^FFk&gp*0 vB*pf72Xl=F97Y^>BVv?4(@dw5UAaPjMdUt1bR-W6P z>I)GY2!SzLMI*v^I$v#ORO59SecGCKzf&kxP9AAg!hw~1l){BEg{b|=ISBoGj?u!X zPW9SAKw!v3Tcne?FEsq3Xg$&DFfc+W mfBBnJH5}mpr%Fm#F&{?j_T`7lyq&gls+(@ps6t`WoyiaUS3j!& literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ new file mode 100644 index 0000000000000000000000000000000000000000..935a12af718d61847c575e72b03947188528d213 GIT binary patch literal 478 zcmah`OHRWu5FH0ar4nM%4Lj6D7m1We_V~}H>IHfL-0XS^>MXep*Wm)}xdYE`5Qq(t zGc%f*_n!0e_DSsvk$5KrA?PltF-)iP#SdW?v_chzIAcby-Tq18#YtRta_kW#XO-k= zL!7cs+J-5cB$XaL8Ws~%3YR2nH=^=rv4KdRxiGrSV9~W(pvpK*@Jw{`L5-BK^ZGRO&_RLcz9hY*!OT6~?$mb2+nvUypnFwZ&CEGzxFbrBXwxOd Z<$o*$7Pz+JDrf`i7pu8e@f%pxzW{@SV{HHc literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BA b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BA new file mode 100644 index 0000000000000000000000000000000000000000..84613f4c039f6cb4476f6be952dbdbf5a2bdeed6 GIT binary patch literal 328 zcmZXQJr2S!42A8Ysue0D0~Q!xD*$%Df(V5-wIz2xU2fX}A!D~28n_3`vfFvna;tA#PpS&N9|j>eQfbq)mg$A{ zsy3|+Nr6h)i9NR}GIR2hCIF2gh4WH3(+oEv8R`ECq~nC-xJO_K?~gSkhduxH4vCb2 hfFI!v@NHGb4OAs3o8fDa3$+%y7UoUPq)-^ja9+R&JP7~* literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BB b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BB new file mode 100644 index 0000000000000000000000000000000000000000..9d3d34202ba91d8bae96f7b0d8f9e555b04dafa6 GIT binary patch literal 305 zcmZut+YQ1n40J#sgv0_2fLe)4j+%)`)P6Lw>`TsfiSz!@ z?nR^uLQ;y3Q9{#q!`MuU4ygXBc>+ZzF)m8=Bi)jO2$a;uIv>z@!LGR95E5(S`ebYh zQg%ZU8@Vz);Ar5mM}_%cZ&||w`g4GkIXRcSPa%}cTW3vRmaMQYKdxb3Zv!#6ZJrNB WNO_)BOq;gNKS5j88eq9_h{?VY)i^Q$ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD new file mode 100644 index 0000000000000000000000000000000000000000..35d8bd601425c4e9c4e92904868071c6d55d523f GIT binary patch literal 995 zcmah|OODhq5Vd<48VzE^5fJJ{M@l4D`5QJ7Xx4K9k9Ttb)=;?-C*ls=fme2qpxGcr ziDSR_s_Iqw$1ijH&6t~?#u#g@`B-_$YkPYB9_Muz!UCUC-I8@P%w@Oc4OVF;w}W!H z=kxX{KRuHaEUM$wNGf@#R9a#KnU>NfS#j(j#7ziWp^2|v0kOu^B-NCgWXM#PfuA(o zE?z|w1V}oceUr)&+R!O1ffA5<=1GXR8j-1TdDpk!CE!e{EH$hxNlg%&h8jVQQRD_q z-xLw^kWQ76#8750)vq9R*=~w|QIA7ii3=c-xJ!3U?n!zSi!hN@Es-WB2`o@XQA7eH zjCcv6xm7ochTbSf@`&VF)=T;-Qf)n772cLQ81>VzhV=-9aUG9p=X1TkTFFejXeh<(6dsZVIThe?C$ zE4nNpOc2Fpw zug&4h11`c>b97GK*uZhl8tY7d;ewb~=I+eXxksJM?TJ2|STByTY|V{3k;UJ8Jx7!E t6XvvE0go7Y+zbG(;OLXW{hY7i?*<%~5)PF=r28&DNdH8ze`#yZ<~O4x>U{tJ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BE new file mode 100644 index 0000000000000000000000000000000000000000..ca1deb0768ea814e15557e852fe66875370d31d8 GIT binary patch literal 631 zcma)4F;2uV5L^ciasmoUgwUl(;Yb&0oj9>ggFvFCq4cG@ng@XMBfiET7&~_g97xct zSG$?no!Pv9(BhRSdm$nr1f6?TyJ53^Giy5vIz?vJZbXls<=w6FT=#AWzG(;F)E1d` z$l4)vn{DVltG4b8D1!0I4i)hI7%ZTim;<7T17fGcghiZyH&;!oyWUt#y4LvKfX{jz zsa%3iTob|pvDAhq5Foi_K4e5G_0hfrp=0dCX1CLq$!?~}p6&%9M7_V}ls!Dcs)90R z5+rs3B|4^+)IMs5I*DbP@!+AeQWa%WlxC;6@r>r%c~nB*;CyXD|2p227keF8Yj BfQ0}6 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF new file mode 100644 index 0000000000000000000000000000000000000000..9226d8c2b5fc4563b598c5bebeac9e99a3082b31 GIT binary patch literal 335 zcmb7mDRKmvz1v)hQoo0ymWP>&_`M~|q`Pe3z^T7^2CTo*J z!R5T=U<9ZZ6#38;tu%}8wGnW)4$Q#P4QNb#;7&$hG=edv5h#Nl$#aI-Z;0cJumd2) r`7ld<=wC4v$Ncdp70mGEDB3hwrl#KAPSGmTc^_-T5)O zOiTfxAJc%~#}))9`zcwI(|B6x7TIi|J8i7%q2E9@L=XEk1g63XMCC(n$l(>Zg9AUH zEkTtHi$E2WVn?J)M3(1Nu0ww_aFyvxb(o9nUc5ZygMYeur{eJmGkV9Y6bTZC19PKu zx@mOVK;2ApkalXRs=IBix3%HflF)+ARNV=@u76>9A}y5}n}HYBB(!}(-!fXy%32;R j{u$gw<9HLxO8)F(UG6Bh((jcG*yg;BsKR&>K$k>6(pYf& literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH new file mode 100644 index 0000000000000000000000000000000000000000..96b238fe9629ea78f707612cdb2f84fe790ff81f GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U~=+cU|>GWz+_+mG!9}Yn8CmR0DFT8 A`Tzg` literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BI b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BI new file mode 100644 index 0000000000000000000000000000000000000000..0b1f30b8b969c3ef5228d2b6ddfa9ba202d020d5 GIT binary patch literal 280 zcmZ4UmVvd3fq{{q0Z1@1GH^y4na9SYRGZf_GOz+^i&~&CgM^WhhP{f literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BJ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BJ new file mode 100644 index 0000000000000000000000000000000000000000..58c9370cc586563c9590eefde035f45898728c79 GIT binary patch literal 352 zcmZ{gJ#ND=423D9Mgyc%=K%HKAqHxcqJEtvNXHIcGcekEiblRsu9Y!&C}k&I+6V$a zN#Nsq(CGs8H-OrM6s6#q$;TlbzK&tcL10D&k3#zzN9lkUT5mTiDGO=|j8}>1E z(&ePP7DnNMkhCUaMfK*ry!tT@Ma}4kl-an%*pqdkFIV43@%=MpK)g*^1~$Db;ppmP zg%81K5|8S0H&%P2lQ)dV#8p%ngl8%`IXv^Z}I` n8A0_i`8hH&011$_B(WKooO~F7S{RrN3>X+07@-8vUoZdwmZvBY literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BM b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BM new file mode 100644 index 0000000000000000000000000000000000000000..3d2e26ccea7b4f2a4d4772b9570d504d4d913e05 GIT binary patch literal 343 zcmZvYO$q`r429DXMFcP42^>&J+f0Al47%3~RCk_2GdJ>T-oaOAp@M}bp~?4>^zo$W zjmVq`#u!=@N%?ZV-t%B+4j(s`2c)PMvFm>4aM`Kz8mtyCu~xTQBvi@`+Mz(sR}HKw zx0;-^NXWMw+Ca>C=|W79UX9YlM`&nQcvz$`QK|1u;#WzA`C2&QiRH>T!rtp7z5widzn!6UYL0ST2u(EtDd literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BN b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BN new file mode 100644 index 0000000000000000000000000000000000000000..f6da2bf34d027eb71f1368bf39b725cc3c1bfcdf GIT binary patch literal 235 zcmZ4UmVveWDFXuoBO@aNPqdM)skudLOiHy`Eh7UfkT$Oc$}n(&Bv6GJ8Q6`CO-#+q zEr9Zz(dfE>(&mO>1wd&gKSwYDGKwTN1Cx^<0|V1S1||ao21W)(C;@aXkSD5vaIR6U drUuZpCbgOjtSW{IDn<|`%mylkj36cm0000)B|ZQE literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BO b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BO new file mode 100644 index 0000000000000000000000000000000000000000..ff0f394e39696cdcbe00c0c31038fb3055ebaf94 GIT binary patch literal 122 zcmZ4UmVvdrgn@y9kr70|Fe3w#pCgz6Nsz>5U~=+jU|{lR;4m;Sj5g3Ujs+UaXaFOC HHb4LX6^aXS literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BR b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BR new file mode 100644 index 0000000000000000000000000000000000000000..7a1dfa2c73624912e73b5bcf2d68346e4b499329 GIT binary patch literal 647 zcmbV~y-ve05Xa9ctwM#65MqHPgOOq>k$krE#Xtq!8CZ=so&pk{h*#qs_}l$ZsnmrG z=df-Gs4AYc~Yt4fc_DNE5VVHr6$5*AM?Dx7(Y7yg&uqGI8528Qf*BH6m?w zRQ(+18x=&C-Zn!xA+!g=YxM7;Zp5io0K30U<%qh-1vPtlN+u3&?^E{tia~dDr!`>g z9cG0oS}fkWz@xK@1PKjuA0A>F2K1e<27QBI||Ju*U}(2qs1mjvClLE5s5^%$ZGIcXq~c5Wsj>D Q+v@pFC}^f7$K>?=0!%T2!TVg`Kz_VOQ+P1U0whhob54{`+{4B?28 zYXA!{?gkXmLThD=g-jq+E5*Zf8KXe9>I)GMbr$GvE7AEf9IR!V*XPM0j5|1+yUokn PxIK44As{(@unEdvu6Ju! literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BT b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BT new file mode 100644 index 0000000000000000000000000000000000000000..5a3ccafc067eb4de3319bab8cc7fa75aa9e0d9d2 GIT binary patch literal 344 zcmb7AIS#@w5F7_Zi9|&~L6^dXk%$x@u`L<|4}gZwq~jHk{D{Bs68^y22^4g=*xB{W z?8tt+klz4y0u{!v5WB5(eNeUU)|czu4h%)ajUPw=OS}rYwp|~z=|Wq(u5W|VbYaP5 z2whMSd>qq~_PfNzPHEFx=V@CZ-IS3NdLm2dWa5dRa{rxkeq=@76Dj_@h_rJk3IsFA45{-Ni#W8+#BGEJo^9u literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BW b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BW new file mode 100644 index 0000000000000000000000000000000000000000..7108c1955e8d6ee9cb466bc458a923c7570ea280 GIT binary patch literal 476 zcmZvYJx&8L5QWDpEs2!Wh%&_%yHZy2-}r|H!2xI~9CtYdc(0R++i(uHOi2ei5|6$sfZ4jV|NUqsFpH&Nk%Y5Vg%ECdoeJ zsThbVNo^Pwg}J!Xx%ebiV`lbXEEpu33_)qQNq>;X0~8Ls8wbg!8vdm z_l8j;DcqHiB%G!R%~~|w*QRUp+DfI3Meh&Q$+Wqa;_C#y{_si%#I08qW(WK(Ky}GV2BO^_h%3;1e*mQ~VB7!z literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BY new file mode 100644 index 0000000000000000000000000000000000000000..828b31e5d4c2e170079c8221efc336491b515987 GIT binary patch literal 555 zcmaJ;%Sr?>5bTV*y6RcP+aM!Mz=3ogGl`c)Kft?W=eGYKXvSah2mCev!Rpz81rZNP zH=U}kBK7r6>o=n6mWY&6bd}k5e%$Tf<5Y4?(xpk!26eb+GXX`P?e>9jg4E1i7>nKQ zOOMu%C7}$XE;=cYC4tAgxhnvP~Y$ z1NkzV%uYUJ0OS-E-=XLt8fNQ!=m#ill7Yit2+WR%>iJO-F8Rnmd#avZ5XLL5;s+a2 zq#~}9Xtu}*QPFh^-;$ATA?2pI_({{I;kvPP<0MR4&nVPbn}!u;H|>%rBKViO5}bm8 J`al$2`T?f$byNTV literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BZ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BZ new file mode 100644 index 0000000000000000000000000000000000000000..bcbe48150bad8e5181a7ba3329c691f2dc2c7701 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5U~-BAn)H={$-n?;AS0XrnhgN}#y1L_ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CA new file mode 100644 index 0000000000000000000000000000000000000000..2432c8273324500a68a3bd614a22c7cd67db5287 GIT binary patch literal 553 zcmc(dPfA2F493$ZiVV2$27;R@C?x%prfy_#?*-J|oI<~M1o0wX%{!P5Bl8r&rG+-( zOG1B1`~E@4&qUJ&5rq)w{2^WUr^oF}pOM|@9O%?-yAqx~gI?FSH_0~_Bt>OdkI1Yj zYt9gb7_yB()rdMW86K7b=`ew{2;IxBWfT|MUZ~&>VKjqrgblfkLTxdAp{b(@J5*W1 z1zII8DVM6v9Q4g={|6L(U?*^0GB4)%6ZLY}Cqosj!R+r&jXBA#SMT(!GaqIX=)_0k fujRLR;E*=mZvy!-Uh!9-rn}Af26V(C?tELH}^IsZ-pymQ09jAc!MqG`G3$V5#pVgdV92H=yY1!wKjyA%x1?%7%YE-&;}OJc~Mq%Bl#vi?AtEWCHDh& zP0D@ZAq%s>3+53IE=Pihz51^m!Rai&ej~^-5Xg&I2(XQPk=!J)JX?GR=1NB@k5pkR dV`@3VBvYEiSjE1bJ5`wkp~D>;x@?5S1U`o~HwXX# literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CF b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CF new file mode 100644 index 0000000000000000000000000000000000000000..5ec65ace70b63dff7675010e603ed13e2e1d6a53 GIT binary patch literal 265 zcmZvXF%H5o3`M^yRf5717&>HtEpgL0D?(!A0)>rJ6y-)74eo$l2~>%Cu&wXsFZ=mM zJpu#`B0@8;n4H~#?)=2S lWMBZKA%KyAPXp){<62D+Wm2ojz^Y=Xpkf4)WdtLLIsjLwCDQ-^ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CH b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CH new file mode 100644 index 0000000000000000000000000000000000000000..f1a285d1dd7f775984b15f43c515959567572cac GIT binary patch literal 464 zcmZXQK~BRk6hy~Cl~M`^V1u&AB3V?joge#$4MN?p;sPeSo}wf-;vSraJ1}WO+QR0K zHJ*94{^vJV2f%!R!x-EqzwP?>{fCYQD{42=M_WBV`Q*HW*bhx|Tj>W$uA#KF+o1gr zc<6@|*>^RYaUmG2z4MKzyV~tS1zeWW-ScNJZK@qV>R!st_W+!qxeOzDP2+e uqHKy%rcGnRJXe{N%QCpJB`5GuO$G^bbp}z8{}PV%wI(agbo zY+-bTRrWLvCb)fM5U~=|mU|?Fsz+_+mG!U5tnhpT~*b@q< literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL new file mode 100644 index 0000000000000000000000000000000000000000..47f742177fc53c0dc72b270504df441ba3183f78 GIT binary patch literal 832 zcmbVK%TB{E5L~BJZRv>$LB*+u91o1`RCRSsOd z8+&GUcQ#+&wEQ4i)I=nNpndjmA9UHY(McJVHu>B8XI=PC&>ER5lAW{U$x9|MGehWpEazmQOs7ZhWNG#4lQuy5#tNS zY#KL#c3w(mcibgsjO891?h#xWc=lROovA~iG zu)4J)jgqGqnCHpC0a%7p1z9>+s1bQ=IDz@uhz1r&<#6W_eVgZ!1PMN>f6-ByXhm0< z&NH-Tx<1%0r**0hsXn9z0F=;z7BW==U$>0Z15y`fDK`Pz<8AU9rzK80H(8Ts$4#A; z5zWNdW!C=PXJYLH-$UKEQqC!+I34c7$>_1MVZ6HxJDpR;QPCl7kER?_+xwC@`AfXc R_)nTMPfH0nIMxB5=m*Rnqp1J@ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CM b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CM new file mode 100644 index 0000000000000000000000000000000000000000..f3605f628e44470e4ed45b08182983122ce4e39b GIT binary patch literal 345 zcmZvY!485j42HWUM2yCZFR;T7a4;DguN@&8JZIM!p*F;14Jv#2wnMf4{EX zyQSz!ByI#F1g$IU{BB?0A1@ySMerP;&?Y$^tZkf2kt#sMrJY@`z2<@t_exy2Y<=rfz~+s39!|Uh@4z=> zrzJE*Z4huFhuE3@zHesdFQ32B;v>-!;bV-U%fxlp4>z};x{7(7W3sgmU9G0J>eq&r zIBY6*Yax7bjGwV$yUxX%*KD&(*44_$UM!ru#GxO`+$8p4;2gw!a|@*JhU^o&K`>q% z=N@2SJ77GZsR_We$%;ViV=3O$m5PfmkbKBZp93^Iv9wWj*8u?8G9VEm{7aw*hEfMg1{3-GTo`nDVOaaiUa42vW1amr%}g(Fqd zv?F|2kyy!Jhq78wTrY`5bs>c-F&>cx(EM0sL(kc=^G$$HbjTI!MXiS3LD!KMHe zU>!?j=om_9Aw#F^H~by~XL3JVzKPaqFosS9X{Dv$4CV<9>?tF{DD4<H#@MzX0EmnNF zaxx>dj5aw*zoEHZv4QbiV7>xy2Y#WQ2ACjU6pl9_#a1oUm#Tib^6FsbAi9x$S;%O=Jv_+q^u`R(^SJlW=W~^9l+~IR{#J2 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CO b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CO new file mode 100644 index 0000000000000000000000000000000000000000..8776ba926ca515c2421ea0b558cb31ce516ebf32 GIT binary patch literal 135 zcmZ4UmVvdrk%57Mkr70|Fe3w#pCgz6Nsz>5U~={c8e_>Is$p+sU=VF;ZW&vnY-(y+ TqiktusR^`$(EvsO)j-#A zhDOFFre;7TTo%#BV4WxmER5j_nEV_W8Gr=HJd)T9OwK_-$NgepGB5zT5&{?*gfyT| bHLlgv06NU1R+E8M#ZW=T2&94$j385U~&!x8e_`9Y-nf+G?CE&MgT=2006+O B3KReU literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CV b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CV new file mode 100644 index 0000000000000000000000000000000000000000..07e3b7d05980f11ef32cda539973fd2d3e201e34 GIT binary patch literal 280 zcmb7A-wBd!K#z@egIC5rxw?C)>o z@r3*afCY#k!Y+{UJWh8zBjiFiOC225#{&h`I*vMY?ZB}QiZ~ikV>#M!icb2P;~+5H z$ZWr6AZ&<~BHc?^Az5Dh#wU~cHF^IvWtS6zNZS6_8?y6NKJxFu6rhj=dXZ9eJmcIO dMM~lBshHNqe0*6T(fE?$yv}kh0uFDIz5%9;IM@IH literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CZ new file mode 100644 index 0000000000000000000000000000000000000000..b3540f2848c23bbc312a6c994281a0d3cfe0566c GIT binary patch literal 377 zcmY+AO%8%E5QV2CBq;F!x?;fs79{Waf&IUySZQCB;m``S36P)kV6K5Dbe}J2oF(ox?oLjia5umRW&7fW&bRa~MmBaQhM42nivf)PH_Z2=}*QvM1cW?Y;hBTK+1{a1r-`wh(+dJQjU5d~3 zUh2K!eO&KtAD2#DBGUHa7m%s1h@Gq-5pf5sn~be=CE&tLwvxCspVC=BFt$uF^Ie=Z zjw#Qik%lBH&zgcK3PC4NCJE%ma6KGQCo6@%G9x{gXTcOs8J|{#Eu+Pt&Jym_7x2R}a0yT~cf~gr z%z4cjM*7JPexw0BEaXR6ti*PjOR5Km(cRDgp=2orsX&ABCb8974hJ71HwT{Q4@ir6 zHsd9p@Fq{<1FY>q0xUd&&Awfct8L$6NBPF zjxjPZ?{yig{7Os~UrF#M(EVTp8%iM_fxXo`bj+3PJhgFv&_PGULue-6AiGO+p8^57m(xq)LPAg>qyF3VB*9V8y*{MBx lAgN@dje3lw#t9~JAruW)NhL}RRjP4 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DJ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DJ new file mode 100644 index 0000000000000000000000000000000000000000..71f9fc4b57daef97f6d6debba3365d34e932556d GIT binary patch literal 252 zcmZ4UmVveW8v_FaBO@aNSG19?MQlt;wP`IQ11pd=s|AWPh-%nd8JX4?M;qvx#nzY@ zX#!+$k3MxhlD#jp{j9>)O0|3k^D{=q; literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DK new file mode 100644 index 0000000000000000000000000000000000000000..69f4e4a96f13460fd3f2f231e286c9db5e265242 GIT binary patch literal 368 zcmZvY!3x4K42ILeQ1l&ShaR@WpiR53)q@D$1Ye-;Cio7zy^*ixJD6-TWwVrgC4cgV z=J|s34j^toK?qnyU54gzebk+Rl;}Ik!!F-%O+=Df8x5n1mf?nE9aS&-h>p`CG79Q< zqmO{4L5;>%jvN&^VpLpg2*}1gDuQ8SrJJ_KHiVfCs?lcQ)pUseQNv6PUo|-&1W@1) p{(VDoJkefCNR%QDN5CfkEUCz8Hg*%hTIx(j&Wuo38l1sA1%)p zP47hFLNG$mBKo>b*W07*1kG{!jp7a|YP|F7{Z3U}Y zff=#_Mg}em14|=g6H_yD3sMzJS!mc>85q=+F0jflG$}*{x~-;}Vwx2U)cEV7T`7xF6{Rl9CM|;UiD%k~QZgcU71rTW c_CMm;@tjAJoILgwRxxGP{};giBuqWfH(qIP%>V!Z literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EC b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_EC new file mode 100644 index 0000000000000000000000000000000000000000..1b17bce883b89fe5b4dcb53ed336221a9d5ed8f2 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5U~+Y4U|jx8*tyjHNbjc&B#ETqCqnV$&+P@eSU%{V1sF*38K?3 zKU&Q-rWvMVJPRnEz>`{!sxo<$br|*l3lL))3cAn>5*uDfY|6DT1s0H(6{{f|*Jv*W z(Bjw7EZ<)9jf2=YmcDZ87MTS|8IQkzsQw_TS|VbM(W9J~Pjhf<^s2X$3pkEAGHS3J4pOY(=&O5vl3owND;=Ur z>%2sb&%hDLnh^akP6e=r$DtUy7+L4hdS!AM9Vhr+r9jFWl{_7IbXgyQiW+bzavU?p zIhwL-l-}k}HTt~FeWs4Dls1DMCnwPHo%Ett#`fh(uxo%BlR_2}SThL$eT2WoAJ=7c z4ef+*X9#FVqI!Q}ge48??4GLEH_UrSl@P>;{VkAaLpR;LaC{j1v~sFjxo=f^9lA&Z zVYCsgWDsr>q}IazC-1$)Sn&dQKn%*Aq#n8?3Xx;Fqz%$duCs4-F10Ptu^3dMUy$l> A@c;k- literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ER b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ER new file mode 100644 index 0000000000000000000000000000000000000000..32e1ba650e01d8341a083569fde76cb9a20d6d5f GIT binary patch literal 281 zcmb7C6MC$IbuN!tPHGax1NF~H{xpC0SC&$Mx?ywD4(C@ z#}n#1fLH;G5U`9$q3?##X94r#d&>L+E$&W7jHsOtebOpfm7GgHqV;{tpv@`#^l?Hk zq>R@butAD=FeRH&n$Vh^$|yo@tn&<3*YjJ-)W2$|E;rs{3zbqJKup4$@oT;7hL-PW U^4DM?v5~rw=7Y?XL{Z9eUI6$oSO5S3 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ES new file mode 100644 index 0000000000000000000000000000000000000000..6d53f2e6a16765614523c916f24010bcd464e72e GIT binary patch literal 339 zcmZXQJr2S!42A7V1wj#KC@4c2Dmh7;pOJxup$lW^#wkF(5m)05I4x9^Mv*P$eSR;= z^9AW00MEb$5!RtDeS5tzG=Y$snudN6n%K z5hG?|Kr}#XuyGW$u`%S2(Ib<23R2AwPjW<-Hl|FjX+I&BQuwP dgkACd1l1i1cA7QFgv^D?h0aA4$FSdn!5aq#K+^yK literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ET b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ET new file mode 100644 index 0000000000000000000000000000000000000000..8f35d070e1b4c6002f958e0780880903f1a9165a GIT binary patch literal 1037 zcmb7@J&x2s5QW>btYF0j2sfBuEMckJ{b!RP0#YKf9%pk0B-V2V5{|*uH~|UYtDaqv zGSawhSJkUmubzMXcK6?%d*%2I!{FYwFy(bSU!Ioh;9hgq_v@9=;m7IYhY)npzlAw% z``qR!*KLog+VXIdq9k;z$%W=<^AucJ=%2PS+MK2dvsxpyDICrXr6y}774=2qUTt(bNaMpg4%jWo{SsT3HEXd<=u<%X(Vik9HG1(+GT zjCv>EWZy*urq=Ui97kN4{&DBv9)f;zOc@LRT%TR4m0@KJz_I~vN&10T&3!B%(O1~S zpcO;OOqja+Bw`css*lx zFQ4qf2ljvW?(q35pX?uZ@ZJq>xLxcscJEHwyuRY`MAvw=BV9-L<`^E2^W!o0#5;cs LgKnMsc5v=5BCz)k literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FI b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FI new file mode 100644 index 0000000000000000000000000000000000000000..ab326979109e631f0e47f1c0bbb0ecfa07bbae71 GIT binary patch literal 665 zcmZuvOHRWu6nt(~pp~e^=Kw6aXrxr~^CynkAT~&BxPZwHaR_kkz(Kee3+}+Ye3VpW z5!-s68PA)S?_XMd5G}rlNGU~^i4U=PefxAJbF1hAM_;mOaZ5kEf4J8p!j_@U$@;2} z4QjQpY#C8=LC&D*w#Y^}_!3tm20WA4^$&4biOj(Z$B1T3`p_xJRgsUhBS5aKQMRXE z<|Za!I&~PpWhmh>i>+?6Puli=#6mG^T+xOt8|!=(YJ_m(!039*UJq`1c-2R?b~E&* z);%Z;VFpPBny3%3F7+xj9nhm?MdxA)Q7T$jBMz{|%VW35EdD*y;^`T4e5Z}pIU+|F z8&afnzhK6+q^mvDOgKC|c?rD*(1&jZ8jf dZj+gk&UWHl?~{yP>w$=T=P#c1w-a7$(jSlXlGOkJ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FJ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FJ new file mode 100644 index 0000000000000000000000000000000000000000..d733826bdcf2393154251a721c83d8e219437d6b GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U~=5U~=;Yn)HQ%$-n?;AS0XrnhgN}#LEhh literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FM b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FM new file mode 100644 index 0000000000000000000000000000000000000000..625e9b33b555ac1a616cac0c05c8b9d50cbb63f7 GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U~=5U~=;Znxw_RWMBX^4q_;n!N33jZx0Dz literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR new file mode 100644 index 0000000000000000000000000000000000000000..3db0cfd8c99fbd840a7a1ec6c72c943c341a2f9c GIT binary patch literal 437 zcmaJ-y-ve05WWkv4uY4u6O2LdqDO?La#zkht`$h5+nM(~C9=QPu`Yue6-s0ohyP(nk@ekzE+1#pJh z3g<=z)-ze3mGRASwVBDgcoxvNa9^byuUQ8UKFh&N^coV_Rc8WBu`_w4Q=Y a7h)ZQdZ_ikj@v~?DPU!~6f=dv5d8q}Z&XkK literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GA b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GA new file mode 100644 index 0000000000000000000000000000000000000000..6e91babe080fa3b02eeb50d659cc030ebed08641 GIT binary patch literal 509 zcmb7BJ5B>J5FM`+h(tv}LzQBStc0cU-=RUNP#P}axXUSs_at0_t5G0v0NyxD0Uayb zZ#;VQ=I!|XgI2FZ>WgqFMYqN4T|J)8VQvgav!ZKYe8@8hbl5&UdhEhpXYiUuRHuei zkX+2W+G1fVGA)6Si*>QK9da(_Ivr0~X9wMt=mM|2H`aNmzp?0Ga}ga^So;bE*0xJn z2Z0tl!Rb_+DQv2EkPF)CAa%*K?9eeJuoKv(SRI6SQFTGg`Cbdx+W91j5|jKftPQfyDgg8dHM~s9?fR7o6&)X e!SzQ{5)$2S@lJpEOEum6lx;@eD-|zQz27%;0c{=t literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GB b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GB new file mode 100644 index 0000000000000000000000000000000000000000..965f0379848a0deed89047d0e632b26b078a6121 GIT binary patch literal 1716 zcmaJ>OKKc36jYDDI1p??oCE^#Viwad4f;!+O(2^bqTM?mBE*_ghk{KG3|{$)NSMz2b(`;_vN#h+>qxo*&&Xz z=^1(`Jh1rcNn1aRbFqlR;;$&nHk*0#K+8d+c~g zW7L-*2m+1A#1NgJV}d9X5RwTA$#PQ!HUOY}E|e6gwlA@f@sbB9R}tJ)U7%S$rb>sj zVmp9OqzA|vNX$iHs-U)-U~w~@a*+w3CVVKbp05#MRud|U0Lt?8B@1FbwV;HcW`2c) z9Bjg5suQtxL`foADom&V0eu-8yCJX%qyi!ylB+A=C@G{U)g|0hcQlnH0~4NOXtO2AA zK7|vv&j+-m#%w$?Yc;S}xn+sS56D6lOeU=?qcPW!U0*dWDR>ENe$kvaEWXF^227`Z znUTF~RwDQ!kq6CQv0osGb`dZMM*$%&wNRUHU-9DEtBuyGQ=RVA=I%Q;d>^Sx^>&AB zd+53Nr$t?E&E3}CZ5@I-bwkt9jUmdcL2;)}^wxAZeaB2!GnZu#q$7ye@_K{6M!bE_ zzh-`DH}A1gXL2{7Pt+~5T*lQT5XX{Y8GWxl)#ph%%lhI*O#YZ~oN*p|Wmhp3C=$_f-v0nrM2hVI literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GD b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GD new file mode 100644 index 0000000000000000000000000000000000000000..b5deb684b5d8efeeac7124ecdf95a362379eb3ea GIT binary patch literal 402 zcmZut(M>}!40MV>2&oG&0g)(jVkdF}zdn?~3OCTqwWll!2M-4ai^!0LG7Z*Q zDzg`hUIcZU{+X`82=@mbW%=W|wb>?nt=^iO#gV}QYz6c7f4&U_w*#u2u9 bdk%zS{;;z-tzKW|ucix53CZa~5ik4&7phWm literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GE b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GE new file mode 100644 index 0000000000000000000000000000000000000000..44e2572ed98de8cc838f7a8c915bc6d145b3b548 GIT binary patch literal 616 zcmah`F;2uV5L^es1tFa%pnxhxiUeJx*lRlu4WdAFJOC5X@CtBv5x=754~(6=Q*;zG zJI?OT%X%cdX3m$#383J%~VK`S6{h6z3NT;JVFrGf$i*aqV} z9-F|i;5+bJHwLeCYatUjNm^)zK30K4O0_*mT6=}Q1_owt6fFx@Qn5A`mN!r~UYZ`d z)+D=sS?4^9~?0hzLr0^jS%;+bWphVs;&8rL|q zm)yoHYHb&!^GMP&i8pvGX{&TzGcNis7o%;x095QoOLiyT#2>bxUDvqR!9H81ziSD% IU_y}S7ZBxk7XSbN literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GF b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GF new file mode 100644 index 0000000000000000000000000000000000000000..7ad90210d922e21fb141a1d4f91c7670deadea58 GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U~+e3U|b>!3`HpeX_^dKiVOuhbgTgzAS=tHx^(m*TyHr;5G3-Aa<$%}Uv-kYhz5xu z-~XS``I{C;BDW`8&e5iqpmiL+cBi(Aqoc>)N_fPWR??W{#(dyto!j#6o6rK<>f7gs znk4fvMUnC%c)$xE;EL%De=!Enf|EdKWn-BF^DIWINoPE%)DZIwRqR;|yC&0KYCq&C zMZ#ZHoJ*bznx^-47?ScmY>mGJz<;TE1^efwbGKz^?|{%=H>9HL@TV0O%;d>LxZTG+6!c-+fzW&&~OV6jPHLS;YTY2w`uDt@9x!*=^!UTf5epl2(UW zvJFXZiB)E~79i}zFVbnxcHSC@emFffqj&x*hT-`|zU~VKB0#`yBqiu>l384hI=eYn U4cv_LVdTSTx2h`|XVg&N51mv}zW@LL literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GI b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GI new file mode 100644 index 0000000000000000000000000000000000000000..5204a98eff6985984e66f98b7f489460bb11c749 GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U~=~aniR*tWMBX^4q_;n!N33ja@Pru literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GL b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GL new file mode 100644 index 0000000000000000000000000000000000000000..19d3222cfdabb8780f71f9eabc852852523d91f7 GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U~=~XnxxIZWMBX^4q_;n!N33jZu1FW literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GM b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GM new file mode 100644 index 0000000000000000000000000000000000000000..0a50906939fcb1130dc42dd52c695296221bae67 GIT binary patch literal 315 zcmb7AI}XAy40S41NFZ?rh7Qeul;+#AASNcbfXRl$9l*H}N8$?H0lN`mCW@XD`#nD= z&o{Jp0A+zeDOjT0PWf_u#G;_(mm{49)Sx4}U>p49B_@tou5W1Yb0?-LUE8hd|A{@;+eRJX8Px literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GN b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GN new file mode 100644 index 0000000000000000000000000000000000000000..a7f580e430e7f2dec2d9bb2eb54dfc1e532b5acc GIT binary patch literal 341 zcmb7;9MJ z|NMP_LVg8MXON*3tRp&~`r+nB1-WP#aerK7>!L#(KOgLK5-ijCU((;E^+iB z8SbJXF|~y015vO-ZOK?9!R?*UW@0}G5=q_^l%>`;U8;F@QwuvX%2gpI&DhpoP^Yba uL$k|KfsCo|Ummj4MZW)lOl#3)DcDwXf%>PwrZh!qixP{Hri7aJl6?W>+(O0x literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GP b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GP new file mode 100644 index 0000000000000000000000000000000000000000..e213b75f440c6c4a45bcdba1b3fa187700d1714b GIT binary patch literal 337 zcmb7=Ic@_n3`MC428b`<+J%alLIAbS$UqRJN-D!Wqb{egr5ojHxkJ7tOXJGT=K}sm ziJxCIUWn8iL6oAM#8lotu4_{?BIbrRJ;lt^^U;cRr8;4g)>6GVXh1I+BvCjmr6ysE zO4ba_3_|!Pfewyi>wEw-qz%ek#hZxf?lo~Sxzt6hNu{oRRjFAxmm3!B{*N`BUKBz4 xWADmocs&y=G%%AQ^((jrs{Pcjk$Il*57)L3+Dwny9<(#s|BOAbwyLMy^9@VdKU@F+ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GQ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GQ new file mode 100644 index 0000000000000000000000000000000000000000..a90838db1d590b100902dc7a95533975f5616086 GIT binary patch literal 391 zcmZ{gO$x#=5QQhjqJk7R?z`y1fXF#)$ zwGvkM0tAhfQqondG_t0MV&=}6Dvg3M}(_$qd}m~XC@^253Roa=GPek%x1 znCPdcWOu+a9+XH4eVv46^Eg}?MENM%mozG>yx_c0-~^>%d#wnTDC?mXXd2PT4H~TY Hjl~8}dud9) literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GR new file mode 100644 index 0000000000000000000000000000000000000000..9f7f6b6fd762b8981e451e8a266324e64a9a2624 GIT binary patch literal 790 zcmZ9KyHdk25JlGsAsHY;1tpUrgTt@lJ!RTW()cBhy>KEGpE(Iui*on+p*etOiHb5~?&l0Jo8S_GeqMQC$z z!=gv9xg-uTV;FN&%%Cnjq(luqwN?O=i%3u>Ah=wj%tY3n$tp&JMR8l0z_&$*&2)@)kqe2BP=t&0G{0&sC60PKQNApC;B+K9+~MwN7b zpGzpJsScn!@d*w))?C<%ttB3mo@;KsG+o;AQ_p~UtJmlLN3?o*!^3)@l~Rbqx2F3# zvBw*0YSd}FDbVhy4@W*64Zw;nSQlT(i0Dp8Gmv9|?w?@KiE)9tB!`DLDsO9^r4E`+ R-=yzwGYFCr*~s@E{{VYcvz7n= literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GT b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GT new file mode 100644 index 0000000000000000000000000000000000000000..3949fa209ad225f9329b92e7a3dbb19fab055adc GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U~&%un)Ho<$-n?;9K=vCgMk46fMN9HOf3UaPXXzTxEgoh6~t#?CBw^;pZ)ag z>y5@|B6A{uF*IvL)3NO?sW&vmA6J%pNE9U6gX%n#!zB zOElKsCNPJEx6ao={$aRKBw)@WImWD7Hm-W?B8V|T9BhIR%Iw}D=85@t8-!0=vELd3 X42Ss1sn{Kc6ViyS1sUk;p@_xrk%da+ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GW b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GW new file mode 100644 index 0000000000000000000000000000000000000000..bbdd17efb73b93db4b06eb19325b3c0dd5d04122 GIT binary patch literal 259 zcmb7)TEukT!NTN5Ud_@{@Jkjf>#N0Q| zw6F$2>(FNz{rJ-!-Z$;xyVIc^b>?3+b;mRQ@S;vBa9&L70dKKIR=6Tb^m@~qYPs$C F-Up^7ExG^z literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GY b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GY new file mode 100644 index 0000000000000000000000000000000000000000..a657bbc898fbdc11cf101e076f9d0897509dcfef GIT binary patch literal 117 zcmZ4UmVvcApMimakr70|Fe3w#pCgz6Nsz>5U~-RSU|b9;Q!?BM4`;#Nfh sxNAAHh`Z#$gi<`}rW2c-#7f_{e1OpQO2@`gR9!@M(5VDj(-n)HK#$-n?;AS0XrnhgN}#ncL! literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HR b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HR new file mode 100644 index 0000000000000000000000000000000000000000..b39934c1ba9f12bea1d6bad7c00d595fb404e91e GIT binary patch literal 848 zcmaJ>jkl);r8$#$IB?t++LVqkT%^(nv^cpqMkcig-U0wk`0=#yt6b+NNneJ z09_dFxCq%4(;ZGT5h&+|^A3rci^>UACSY=&RwBR5VDbn7n)H`}$-n?;AS0XrnhgN}#}x{s literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HU new file mode 100644 index 0000000000000000000000000000000000000000..f9e95e0f52a49ef55f87dbf1b9d83f806c3789fa GIT binary patch literal 449 zcmZWlyH3ME5Ztq{V(3Uio8k&v3evrN4;n<5ijK;@E?)uXKjH)OQ~8I?k`oD}+1JeM ztoHjz?I)2q5P}f2n)hFEo0fCsQDIDT|N5fmeK9pp<~ik|Smcn4n~XzWMsAV)WUP-U z!e4p>J_cqcR2~~(=C7;-b=p`r`Ve8dh8mkfR>f+j22fjMzV6 zpbu$MI{zo63t{DMH%Np6+6?Smf_NwEsc0`%6ShDSBVcQr3sZpK&(&r09TSn2kB{>n~f4_57OVd}`zE z7mHtYVMUf-TdaD?YfJcwYs(Lht>Bo~sX5?GL;4aD5RMUu9?`8W2ny-=3VfeHOY=Bq9;nrR`5IdRGDL3u$|>CM@v&KSjw z`2-x`U0Jto2iAH~Y>e2RaO98SFARk#Y6kcttx%Um<`0@z(tXQ#1nq}f0N15HgWaBK@BczIT`V@PsVsgWHsX|3! z8IBx|Byn|Qa2-6Tz0wf;{54SX_ziRYPK}f#NE}`~>=kWW)wKvUy`9Pi3oUo*ey8tu zhW$W7p);-AsZQX$VYHsH4%kJ(7T_0{fjhv12s}T%cai6(_qKAtSvGSq+uF{4ax%e5 zb^j<;n*sRze_*P-GlT!lOEkJs$0 zps}O)`{wtIzkX=)PBi)?BBd0ax7PSzn(p=OqgpkCqB*|8%JP77y3r5!tutlabbXMI z%G6yh1jtz=qvNbAN?!#i3*WLUs}M^HHUTEkvF9yyZBe=AmaQZgL+`woy2b7d6rI?b zlZDcEA|a~B*4UpYlCF#~g7b0csCVv0SXIN6}1mq$fdr2Sb4 zfcBaQAvHmxr)Q$^H!T>oxwmmnT~3M=uNTairgWv#1apmI#Spi0$Z4KglR1+W@)k5p zl%g?bR^i{JZhgRb{`Zaq+Df>RU0d!DS7LfzdDL_ zOUCtfgIb~$Cgt2^twD_Vl*?k_Gxl_1;V;DHJZhFBTPClIs>uRCltX!Yi;FFD7EkS~ x!Za=6ubAuVwLthOg%kLTMlmfl_D5js`$9-|d-=>95=2m-P(iXfheEoacmRbiN(%r0 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN new file mode 100644 index 0000000000000000000000000000000000000000..b7db034450eaee3aab618df47ae18023d0461341 GIT binary patch literal 2843 zcmb`JO>X2i5QV9>6F39RZjx0N6TpiWU;+FSC1v9bFpFd}yR2yKe2Q3oqZ}z$$Q|-M zQtIw_Fk^QR18uU&s#jI7e%OEhZNB-#m}|pd(=_I7cHJ~TJU&f#&K??b!#3SHci{H= zet-Y7bBoW`&r1kP%r?%;FfF5Pv+t7hhQlH$K8STbPDpCg&xpIo(zDD<%2vyeo$rTv z8TlGwnwLqp?cxQJ%N6P_NZUFo^96aS_apivs;*CLSIr>PNya*~`W!Z6Bd!d%-pP!V zChWvwCvf6Xh#&`Uij%~c@GilJ^oT{f;%FzACtQf#07$<&3y4R*#_Dm2Pz#Dq@-WU$ zPWEUdY4|1k03&Yc2bscM=)hg*T!t!vR~+Dz!iZT80xGyPpg4~0GDXU1aX-Xwc(&XcF=sUy$VkO*&V`T%~o;%`B9F@%=A#ph>J-UL3dbg!bnUn-n zMBxIbrAMKhgGCYsB#1Y3+5iUo1#H7oBCT6o*0Hif)F2g4MeGp^zn}%E>P~@zoh`W( zojCBhD&Uli%N=EpzyiQSkPF4TiAeE&ORKAtC=r#TTBj=JF5ww4mG3Gy2)@RHQLwmO z^G&QOS3Qrvh_k0@8#Yt6NA3h^MJ3M4HOs7WP*Hd!mRe|S{Z zu%&b80f8VzTyYFH+ZGvB+Wx)_0a}jslDK-j<{LLls!Bsu3gu~yR#m8$LSuS(6q>40 zosW%zH8K?1Q{DBanWFLX#yPb>8pes?^B21ECQMo7qqgcTF(k#vn9*rgG?h?`Wq9ME4XAB|6M9 zdNd@dP3xmJiW-b^7-OrJD6|(&(0@|g-?EmW`er(h`kh*EwD#fg9@ng-6Vl%mX^mdd z#C_F)rroCxdYzsHC_v}a2?wC3j4y}$MEZv#R* z^J`5Bg8@_HASxl+$dho2?n+?SN7I5_<9~r ztWmN2E1bss_=Oit-8VnO3Ke8sKF9jyYwsNMhH}+RruWuIuFj6kb45E+S{K@z{`0f= zIztSBtD80Pjp;6WN?&K;2>$W^czG|h*=nMchq1iTJl4D?jF$RLpFhwS0{`^ldwvn% z&a~WcnpldX6p=hCYC4*K02>OiHvj+t literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IO b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IO new file mode 100644 index 0000000000000000000000000000000000000000..eaf9bec0acc5e9fed6e8432f6c995ac16ea1452d GIT binary patch literal 110 ycmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5VDj__8uN{T$-n?eLktBo7#IM60}3tx literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IQ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IQ new file mode 100644 index 0000000000000000000000000000000000000000..3fc6bbb9ca69a4e4c252e4c8cd8487a6ef4b1615 GIT binary patch literal 405 zcmb7AIc~!+5S*3Z14){6PUk`e1xNr7iL~4pF4F{XO|#1@Z1D$qil5={oze!xJ4H?LY3j^Ah343V&8W*a3VKfrq7!G!tZz(8OH2SYuhKb*0ypNgn}Hgi=MBQoq+)oN&16A9W;(E4z9prcnXC#^3{9?uZq#=o%kV-*7^uQ4$rm@jU%#B(1A_S2RBNIl}zZ24Efq{yM dz}#Ey)7le*Ux`VnZCbdxHKj8Ap?BQx#2x(PHQN9H literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IS b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IS new file mode 100644 index 0000000000000000000000000000000000000000..649fab3b94f59f00432bcd0eb3cb795a845b265a GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5VDbzGnv}%AWMBX^kP%J*&4vH~w!I1o literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT new file mode 100644 index 0000000000000000000000000000000000000000..fee1f3f4bb90d7b3fab7ba597fcf248d1ae08bfc GIT binary patch literal 814 zcmaiy%}#_c5XYw&B9QpGQ9SMeBb%^EKcGy#7>`~&c|&eKg~A*8YQBTh0=r$-T{+Mx z{r&$l%=G&Q!cTycdjMdJ!9~M`Lesu~d{u?uJ%flsT?o_n z8g2c$sCO$!u*9(ja!o{ye^T^)O9ijb4CnGv9Z<%WX^LP{omQQrrDTsC8AZO-m!M zOxr0gf{B9?V&DqD+aL%YL19>m}% z3tYP33}rnxl~=|IMdWCp7$c%3f+#5GHVYPUY5Hm%}qvxwfV91 z0s1&ABpDwgm(Wa02OCVQi?5B*t%0of}>k#H)gLZTaa1=jni2q7 x$^fs+gc78i8fJeoc~{v^e@2Flf7$N+#Ss=8@7b7kuWxoQbipDBwhxjR#UJozU)TTu literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO new file mode 100644 index 0000000000000000000000000000000000000000..13422421187b1716bf3b12510b3074a514e2a640 GIT binary patch literal 505 zcmZXQJx;_h5QWEyLPE3J0@0GfMS?bx^J9;_4WgxB58zG5DZsfAr{F$F9Dx}-u#vWz zvF1I0Z#19ZP`m?(AD|)x?EEn5&duky4?NgKKp9_dArK%ns z6w;2t_KI^f@i`}f^aX?r!c|RMtRO=<+3RyG0NKk4Ape3)DG(smLPvuf?wfR%wjtKI z#5OH0RI;z-P|J~T3pdF`do)V+t)SsUgV8*sKUWQQe}r02wbYSQp`SF;{RHF$V$OaO UtPh5wi}*46OH{$zt)0dIzamg#5C8xG literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP new file mode 100644 index 0000000000000000000000000000000000000000..d3da419a5c03c8e3f09de8a9fc75f67493ae52f2 GIT binary patch literal 4345 zcmeI0L5>|Y5Qg0|88U<&QudLUMOxxX?Y7(9&IYky!vet;r*}C55)wG)V29YT$t^et zC*TN3e1Ey;y?Jkvz-WY!Lb7=7vCCDztNtpN^Xd@9RIqmbC=Iw{Fp!W!^<0= zEVwV8e)h~4zssxr)Xd){?Ef5}zv!z?rA?rWahjL4jL7t?qBo)RLi!m$41Nr8O7nv9 zkIIbHz|z9f2aE>b(LCG`y7Z$Yj+8LfB!oQYTkA~i*U!HCymS2MG!K(R=bL!awJj}A zx3Nsu>x(=4@@u^HjXNLw;5yfBKXT!vd;Ap5;bnh3xXUa5W|KWzK7jWlC$EO5CMot%)E` zYhNcs=2Y|C*O+siW2y^Np)71kp~ksRzPGT)T$iEd;?vr@S55a^gA@?-d1YxN@+e|z zDv6ntngwZDYKnEybYGL1fGNOQt}*pD(PY6vt*`=WX{gw?6l~Ot;uI3_gbz8CikdNl zf55|hGaZ1C``-QbFQUyj52U*U-~SG@C5IA2;Mrp_{fCD*ME)k#4!k)E{)6sUJ2Fuw z=)p1;27po&7y3?YKpbWCiEW!PC%rZPn7NoDXs zA9ER!B$qN=pA20=UNJ=@G6Ab17FwsBSsf;uF=ibo82}MXTP#*jK)snstq=(>3YX%e z6lHiVzs_dLL#$9Hp#iT-5hgt*8%!O5sf^0DOOzi=WKOO^h-A?qSJ_^+GR`C+0|x}D zz7%(P%Bmu48=ARj$UzLlcalqn&U_q|#?40tJAl4F`}xh$0vbe4f`cm*GGp2nzPCh9 z8wnBCf-<4EvmJ*Jk;(E&-i#O+6k0oUOHw)AJR$C=UdX@1xw&B!cFRmVsuB}Z=Bixe zgXS6UHI05U+^B$#(Tw1SF~}hTcft%aG;#0j*@`LEpZl;xN(ud@Q_KO=oj7B#yah3G z#*HLVXSa+-J1UJ(h{9fpT=QfrmOE8qOU=C(%(*A5lc_*}RkInS-l$^^L8T=K@bAw` zD+0R{YGR&j5G$IW&i;H)(s!Dq#y6GzI$9yK+L6>Yz-XhcBvc3B;;iR+fA_ho<=NIod z{jCW6-wU-^7jESMv$O)@{m{S9g}y)OMYkq&d;Q#ghw_iuT0reFqr0BMwl!LB1*Pk>cfY(57@GX7=iz^X4(s9j z-+hg@0=z|bi}PuKJNJp)hP!AKh{+te7UDWnIn%1B>BSokoYBj*KfGS`h&_6|bnbBp cbV!X9gEVqutaoD_|DT{&X>7|3F zI_N5L?WOEGRo334@rI^9X!G%E2u1h%S5x!;hPzzpftksWxfQ%oL+dR@kW;T8-M^={ kvyYwVC25Hraj0Ys%pEFKeyqIiaK|sEfRiNt#kC3j00|LI`~Uy| literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KG b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KG new file mode 100644 index 0000000000000000000000000000000000000000..663d063c16cb8e5a36917da43e1021f1a50b519a GIT binary patch literal 562 zcmaixK~BRk5JktSB3h|JY}gkmi$)@nJ@(iM8`KpGBrf1)*HcjEM%;!gu;mVXJ8hvW zq}XH4`#&@Ge0)>=PE@r-q?Dp{wBoyd+#inpr051w9)}5xKDWh*aVphjBgrATQnMdJ zLFvmueuU=Wq2Dh0C{D&YKZTfJG{Ok4&OBNVxF+1{64Y{ejb7X%zM&SEHS*$-baR2n zosKLG>C?HI%nf#cH-OQwqAMYqVByohJctY5y*?>Ikimbgse5@QTD{ShIqMJ$DN@`5 zmPsAm4rs;92TAslXxHm~Z}z>FmD3FdXk%mOR1~ea*9u4XgU;9i^WXYSqo5Gc^85g? CA6wJ_ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KI b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KI new file mode 100644 index 0000000000000000000000000000000000000000..dc2906d3976a0333d561bfede138f8a97a090034 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5VDk24U|?Fuz+_+mG>{Qa0L_K~0KMl5 AP5=M^ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KM b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KM new file mode 100644 index 0000000000000000000000000000000000000000..3c5ca9f4489006c83a9bdaf1e2ac7ca66622283a GIT binary patch literal 243 zcmZ4UmVveWEdv7sBO@aNXSA_-Y)neESuG<2E08v?1qw6BnrqlwnME7u8k_4{#@3hv zS*9SCCQyY5TqPp|yScfck+F#>Pz#rFw2?8$BvWL0V5VDb)NU|fjN5S?thbh`zqs%XmriOV82QX=`=4jd|u2#G_l#y9>05;*^ezs3*X#v3Qu zL?xR;Cb8eVH}gFH{fD+ciOva6RaNvl%GP)3+xK6(>G~Y-5&DXDh^CRE2Z-Fm;|GN#yap_%P3l92dHl*y^i%N+DlP@ zK6Jod1Oal7^(|tDcp1dNoL&o zAlrj#4;r8iy_4V&Sw`7G!gZ;G^~Q!&=V*Nr^nL|^6l1dOa;QgGMQ7q5D^M;~^(j@! zq)|c+&T?-aFFtadHL3_npk16DRtls`^l>$%(D1yNXkFrJ){^JyZrFvPtP_TuNiFFd zFEwYCp2lY2|GJYU@e+wqa_Q^YCmg{{NL_|(PJ7ETquLl2*;mskwg&^(F??Fgx!mSd z=6ba^img*FWsQqsoKH2$c@3LFVk!*opo-F?p{%=Xa3KNBJ_?*zjq5iZ`%!UGIrG-^xvaBf6nwd%3ykA0#Vccx7!ijJ8?f#%8JHf-DE@HjBh_5b ttH}Y~VD@QS3MoeI71QI&EYIkAVfM3(4PDK%DCvIj!xoNI3oD>P^bZaK5h4Hp literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW new file mode 100644 index 0000000000000000000000000000000000000000..9c2fe3d1c1e73ce20f5e10eb49d688753eb54356 GIT binary patch literal 321 zcmb7ZrE5JmrhNT?zT*HH=zkU-j9nB65!l-iP87lbaSh~Y-QMvjv^_^)NjNtx!) zXy^Tz{pTMPUw}kVMDR3Qr+!*KK2N?2o8XaM=;FpHcFo(XjjNkouOwQI^cNy1of}5= zArgKjth3Q&_0&Er>ol7&OiQwP+6valTB3vyFi;ZxOIzs-D!*T1yr9Zbt{0iPK(`v3p{ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KY b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KY new file mode 100644 index 0000000000000000000000000000000000000000..704e2fb563c452f3c34d0525c7660292c08ac81b GIT binary patch literal 435 zcmZuuK~4lA5QH@v;}6ysNa7^W-8A6Ec=BN4-LP{pzQXPOknwB&!6Gwp_8`xH+&a_=np?(u=fBohgkVmeYbt|l>9L8e`& zHd`sdD$*D&b;+|)HtFEDT7xy5Btao^208>N$+;q&K#zzLu|WNKQD^Er6_5-o;MD@+ zo+kuB0MkOP1q6n+@B#vAkoPU0jFMtIOoW8Ztv**YmHE3j1w8p7<1djFsobHEcT1nXy61UEWR0m?C z5fBU0O-w~w(WX0CCq6*sv#8XqLA2tb6?F&ACPdcg#QGv)#|#|Ow8p~FMK{6KkF4#mwAo%3plJ cc(&g8E$2>K{S7bY>@j#nIt7!Rca{a<2Leq=DgXcg literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LB b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LB new file mode 100644 index 0000000000000000000000000000000000000000..6673fd2cc00a0620f669b3d9e09d0ee9b7365574 GIT binary patch literal 457 zcmZ{gK~BRk5JmqaDuhUEk*HX7k%c3*k{!2p(hY(&>IK~FI0cX!aR@jNci_8CVuWBb zW5w@{C;$Bmix)sXz#@X{VC<&rkI%1e?FYdnPk!AFyu_Wl-v_hZI9|U6Pb@SnHIW_B zMMR@wOk=k@M`NihQBO~^n_!&p>xrL63ksiC9i4T@-(B`zuIKE{sT0PG%yT5=g z0Y9hBXJk*0K>mqLYY1d4OaM7SLy1TAy&Dh{ZodlYMI z<=O1^?2^>mF7zB-%LaL=*(a$?=X(xG+I)o?7yFijFZ>pii=qQ+ZEWX!0Q0kRzys?; zpXAo|tO4v`gOhRa!Zs<5QG2Dfjhs6G literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LK b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LK new file mode 100644 index 0000000000000000000000000000000000000000..f40527bc2298df726b753556ff76dfa6b80f86ec GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5VDj+>8WYFBWMBX^kP%J*1t95Zs_BAHbR-MVQeU2#_!~j)k3LVGDG;LdlQ(mz95T13FqcV{@C^?C#y& z9tbahIDkb6#A>%~wC&n{Xv&T0(zd@EC$J>ib?qp^Li>hfNUVvG&UH~%#_}^^K-n1E z4HYvi71|AkS@oDzePuDVG^3Ng;Ito$AMn>3!ST%H?+CIC0^(IjA;3ya$E1pj6z&a( gWS&T!$iknExfcn{GMNh!v6@c*=?O>8$K>bX2?%96BLDyZ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LS b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LS new file mode 100644 index 0000000000000000000000000000000000000000..ce20cabfc68d48ba1387952f4c2eb09bc2f76ccd GIT binary patch literal 240 zcmZ4UmVveW6$1kUBO@aNceIhInMG_&O0{_{BLgdtwx|V4Ft8b+2r)8n7#SHF8Jn1z z0VO%3P0diX0Od^$;PSi{1_mH=L269k#sbv<#lfZk&0z9#1QQ_32(lTNe1d`QULMaAT6+;CTBakd37(vtl00Y%0ZvX%Q literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LT b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LT new file mode 100644 index 0000000000000000000000000000000000000000..b82c59a1a4c0a45b4234ead00d9aed0f3ff02fc8 GIT binary patch literal 491 zcmZvYyH3O~5Jj&8iy{yuREv}%MJyD_kFn#>AbPabcE%lFKnczt@m2Kv1LN@61Zc*O zxpU^uyuM@e42U;y5CW&s_G5Z@d>JNz4WD7+e{8$k8yhtZA!Ul%Q14TAMzX;F2nA}Z zjV0#?E;;cl3Mc&`SqG&!?UuFtH4C`*d{j{xI~!SP#)GEX-3f3g_Wr%2y5I9qPpFiF zfC!&~2gMPtx@d{#lpWhJ)2{<(t!`S=w6VZ>1TMO^`Vj+@i%r=VWK1>W9*0_Dp}+ Mwfj;m3b`rp0U!8X`v3p{ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LU new file mode 100644 index 0000000000000000000000000000000000000000..6d498bdef8f7a1609f1ac1f423036bcdfb6f4e82 GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5VDbqCnv}r6WMBX^4q_;n!N33jbgv1b literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV new file mode 100644 index 0000000000000000000000000000000000000000..855793f75ec1e9bdd3bfcded788be94ff2246050 GIT binary patch literal 265 zcmZ4UmVvd3fq{_$2pAa|8Mvd3%q%QpV^XTkYZ)0>fwV;}P=bNY3`K~Mfy2zu$k@cx z%p4?Xgf3}>kYu+o0Lq%dO#^DRFn~w{wX$1c$XX&~nfx3X8Gr=H1z6b(Og>>ihZi$2 r85n@P00xW<5*jdXXlej0H?D+$k3MxhlD#jp{KwpDB4q^iUqQ5MX literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LY b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LY new file mode 100644 index 0000000000000000000000000000000000000000..0c32f6091ba0b0facccc6ffcacfc79b6ca72d7b7 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5VDgCs8gq+*$-n?;AS0Xr3PJz?#A6DH literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA new file mode 100644 index 0000000000000000000000000000000000000000..832a1cc1faaf8c33e4da6c0199debf1f8ad32897 GIT binary patch literal 672 zcmZvZK~BUl3`L#7XaqiJ3IiK?-6#|3&!{H}c; zbshR-5V}6K2)>ucQwm5c#E6DU%49NLw=39oGwd>zLNsW_u>TF?)6kwb5_Dy?YP4ys z!*UOfi&Ziv#d$ldp|C~@fl0R}on6SS$AUw*PWw6Aq4Cy-Kj|=y<#h3S$OjAb@12U5 z1BCseLMaj?<^!MTl5Q(#J!v7UyriT}+0>` gZn?APOM_kIqr!Op&2G&L+GnF-ylS%b3&bkX58GLayZ`_I literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MC b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MC new file mode 100644 index 0000000000000000000000000000000000000000..9723714b0e691c2a34ad62a7597a68e9add3da9c GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5VDfbanpDZaWMBX^kP%J*&4vH~x4H@x literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MD b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MD new file mode 100644 index 0000000000000000000000000000000000000000..49625e42e67f82447735e07107ed264294eb1f50 GIT binary patch literal 514 zcmZutF;2uV5M1YoNP$42rMV(SED>qFj^l&|okR;Ca8e-U3pC*Th_CSgI>x!=P67(= zZgysNqWS!y{GCXB6N*xF6~wi5KMvD}pB3fk-3)|YtH%eyGl5;(k5Psx+Q7!uevC~p zb(3V#1+JxOJB)3R+NHq*wP5wZ*v5mUqr)X@!4~I7t>NO}cA5Hphp7+|BerpH*5I~y zj?*O>W5Cg2($QntaqKZ~7moi6ed~DB7aj9zaDuTq!Tnzts}0Ux4vJ7x2LH~KJwGA4 zH_Dhvky;D#q#fN>BD#XRowr6sY4)Y;OPeC6OhnO+OQZ04S0NAt3V|F2YlHlk?ply$ e?GbNCit~+|D&@nx_&MnE#cwgYNYI&z9nlZqOk@54 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ME b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ME new file mode 100644 index 0000000000000000000000000000000000000000..5caf3cdd93dce4ac83b59756f631076fcd3453fe GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5VDfbZnpDTYWN8UBkkJ4}0L_K~0Jca=qt)&{-{mjj@WwulKv)m8+Ddu?EgftK=pdqxuhR8;oTMyzNa~rmx7- lG$j?$Jc&P^q0F=A&If{}>G)qg-028Y;JgQc=49W!;{`t+Dfs{Z literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MG b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MG new file mode 100644 index 0000000000000000000000000000000000000000..8400fc55e86e1a4eb4158a6c7512fb9d7a73e476 GIT binary patch literal 333 zcmb79F%H5o40MVrgy0KE9Wt~MNU4)HEek?IVuFRy&BiMr{SjZ|4_qh%D^YT1%NL*h zd{KTUQbz(PMGIjYhTEeX70tnZ(~l_7mCOCk;NkLci%y&mu@UQ9a4YQl5If(U$^svO*d7uHM?4^4JCd>{?? xS4`RYgk5vWj3Gtp3)mmox}5f}N_g`4Av+N=TI#ycTxeTpH+`5HU8@wP^9ByJJ;eY3 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MH b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MH new file mode 100644 index 0000000000000000000000000000000000000000..b033f048324bc3d2bb62f98e3a10c19a0e705781 GIT binary patch literal 117 zcmZ4UmVvcApMimakr70|Fe3w#pCgz6Nsz>5VDj}~U|`z9z-(Y>2sDuqP5=#u007Ox B3X1>$ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MK b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MK new file mode 100644 index 0000000000000000000000000000000000000000..d5f29e00ee9927e007f7f71182929d4df74be356 GIT binary patch literal 452 zcmZ8dF;2uV5M1X7MB*AM5E4=f7mh?EXJf~{YY;Vp4>;-a3N9)64L{&b{DHAU?%;mK>m1tyjvOMg`57bx?12lU+4Tf0A#)?{)D!d$yp*;=-4Mxs zv90%6$@h^qpG4+^kc^@GEE;SoyZu*O4Q-%l#e|;6rw2iB)6CYVrPP>NqFu^V-Kp(u zEH%$IV7S{)Q&klxAbN!v+6s%4Sv|0i@C8Kn;bf_?6`V?T;DY7jQm{@-)yz)Yg3!=l z`oGNJ`NG^L=G!q^mvQ(0VhE|d>fbwcZ?E{819i+~$ea^esQU5xThoY*vfc>Y4Xz)g NALf40Uk_~O^8@;mN%jB$ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MM new file mode 100644 index 0000000000000000000000000000000000000000..f0425f20e33255e6deb1e395a593de010d68ee80 GIT binary patch literal 548 zcmb7>&q~BF5XL9bYC$|KA})C8p@$T<(EMvNUc?7jUm#n&>{Dp+M!uTw;3Q289`;}f znIZXo-^`@nKTv%F@Mi#EjKPza%JgnNoxkj1iUBE^4lXjd%|{ps11DZzH#BjKxf#Et$U1U3UHSBnisD{ida$Ikv4bi%le^|<3bPm3 UiS2<`e?$1+IcqFX(UA?nFI_ud-T(jq literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MN b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MN new file mode 100644 index 0000000000000000000000000000000000000000..c6de525dbaaa08530c71f86afe669fc94f769a28 GIT binary patch literal 529 zcmb7=F;2uV5JkVUM2di7#TJNeixf!_DYlc?p;>VN_5zN(oC2I1aTqSb9r!j<0t*d| z$C{b<=g+)-Ab$a}0)P+#w@xb4jDDJ5%_5L9+JzO^>h#E(XOPnzl#`7%K4_;J>qEyd zF!oG$gB^VxOj{EkRuO^1v{LD=A1HUAj_cojjdQVQnx5%+4E6V;Q- z6P1wbRErn-M%*QWlk_%eWisp|!=oq@oNjtw<8YDTEVUU}<>)y2r|M?mFS+~Qa<2Qa H6TJhUr}JYB literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MO new file mode 100644 index 0000000000000000000000000000000000000000..d6a981f2245ed309937e7eb90568d80332350828 GIT binary patch literal 246 zcmZ4UmVveW0|NsCBO@aNSG19tMQlt;wRtTg11pfWs0E5M$ZObJ8CgUd>6)7BTE^DE zSurV^KsBatwTuiLMixefM#d(lAj8anrhyDILsnpB29`GiDq!++1QQ@DNMbWE`T8?3 rFo!ZQ85jUv4grh|!WuB=8`o-T04+AD)ns5*F;q}70x4kxBZy)EX&5Og literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MP b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MP new file mode 100644 index 0000000000000000000000000000000000000000..238d1f15468e9936dd11f1f4bd681262e8ac8f19 GIT binary patch literal 380 zcmcJLK?=e!5Je{yMFcP42`pHcB<&=1p?CnrecD}b;7+GE@@n3}--76(TLYOHGM}F} z^L)|#PGoL`U<|F2#JX*|N8KA*B8Q#j9xXaZ;O%kmaDDPc)oP4dNv_@{=UXk4kFD3r zI~8c8)W8~>F3;go{<`58csXBI65?N-HxVSvDxx8PH&3n@rxWljz=hdB6PcYIc|fzS inWtrFd}Z0?WC&qc&16m4`8q6>W^65rq5K>?VgqlE!%Z9j literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MQ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MQ new file mode 100644 index 0000000000000000000000000000000000000000..84ebbf47905e66b51fb8f7dd30e2911499cec0d8 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5VDb%QU|%PzgIb^z1Gkx(iHW5lP{;&X z3aAAlVPtG#3Rh+XRmKLSf%;*JKx)i@ili(w?5zw8YRt@P%*|^oEHtBybiuZo0hJ>3 zSQr=>8N&4NS{fK&R|b?oC}Z+-WMlvmASYvGGcfrEgFMT?Y+z^zWFP~eAkZ@atz0lp literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MT b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MT new file mode 100644 index 0000000000000000000000000000000000000000..92b7f186007d4825deddf24d5826c27ca8ce2d9a GIT binary patch literal 118 zcmZ4UmVvdrfPsO5kr70|Fe3w#pCgz6Nsz>5VDb$Cnv}x8WMBX^kjcmpP6ADb007eH B3VHwl literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MU new file mode 100644 index 0000000000000000000000000000000000000000..191dfd59e650ceddc68745ca4d18c645d8e0e526 GIT binary patch literal 388 zcmZutJ8nWT5L|<68FrL6-9 zmc@4wsDw>%<1r`j)@LV{A=d!?J3`Tnjb-NpvWk!cJc=Vj?hu&!!%^q>w2EQ_>~k-+ z#{G2*FSkW90_!rwue@YxAo6C;fDAu}aqnR!Ut2{eWeNZOX|nsq?yfX7Z18y;Ma%ZJ UNgj1u(=|0~yIOORsCpmbJJ^#@pa1{> literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MV b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MV new file mode 100644 index 0000000000000000000000000000000000000000..6df01edfd9ca4a3f63dae6061b1742fa37b88f15 GIT binary patch literal 117 zcmZ4UmVvcApMimakr70|Fe3w#pCgz6Nsz>5VDb%PU|>GLz-(Y-05p*iP5=#u007X@ B3Zwu4 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MW b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MW new file mode 100644 index 0000000000000000000000000000000000000000..daa030cc0a17764ebeee07f6f515d307f8246983 GIT binary patch literal 472 zcmb7BF^LHM6e6sEx)0MS*d literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MX new file mode 100644 index 0000000000000000000000000000000000000000..f43283207fb6fbef59adcd0f1693f753129ff3ca GIT binary patch literal 1731 zcmds1OK#La5G@Z0vIyDniCE3Ti)ksAy87d`vq2mH)<_-iatdhQhXpJ-7I)xP+0G1P zW&z47qZxNkeO|q)a@F@=bpD0tjPR+diY_y^!+3l5b+~3bRaE1eu9+v%e%rmj@xH`Z zdNxq>Q-Q?EFFUvu4{smaek>ug7fFJo>v8FEiBJqVbZIoj!;2wH&}A2(!k@)K&0r3* zu$aXpN*K1?VwioB8*Bv{QK26|L!y}y;n(*NXarL_#SyKb_^^OPaaDd@X0XsG!Z`^n zhzeiCFeL#1ISF~F5zFBK7!Wj3A<-!Xmh^gc zIU0)btLTCc`$%ciMdXjO`HU z+-5tB1Q*MAzOwq_*^omVcS6%nApDFQmThuIZ+F>au5a&*Xv4G~R5!eB+_v$ubf{im z#R?Ii;0of`;^JqQGZ%0UoS3I;{rd1vZ?b&W5; z=K%wL9PuDr2^ZqZs%{{>U~i49#>IGDfQ!@?YC)Z`mu6$_xNC_U#)?i@tQ|m5E3OV9 z819hd?L`reka@-RAsoXUo^t8nRl{oLS-LSBC9fZ7=ZO+)Ns$^4jA%hOdT1io*dTqp zT%S{#vB`>uOhT`;93VwUHe-d+m6k0Ug!>956MU;ZH|ToqA?tn3<*sGVsJd&W6?d9* r?WHoI-?*okvYy7QCKHpn7&pa_h$y0lwAUI9&E5CC6D}t=NQnLc?}l#| literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MZ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MZ new file mode 100644 index 0000000000000000000000000000000000000000..74541096cf1c9918fd6449d704aeb0d28f9f4719 GIT binary patch literal 342 zcmah^IS#@w5L{b|2+&ecrU+6Z1<79L*w7#z5FUU@$15QD5ntmEOb#I-3S8`twKKaj z&ld%EBGnLzQndCg?e+GkGU*j9fF!GXjA+Nn@!+k?OU%2%n?1LkucY-Bpmr&^1vJ5+ zK@Ztlc6m`kyAsd&xOOJg=u6>=P=OJOF%Xttb7MXm^!cO+WpMHrlWs1Eqe&ZsT+`FE tO{Q>Zf=jNST9)@Ig|Urdj$#KYQgb)@Rl|p9lL)MRiGCzn%*-B-y#e8qJTm|Q literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_Mapping b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_Mapping new file mode 100644 index 000000000..f5b90b2d7 --- /dev/null +++ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_Mapping @@ -0,0 +1,408 @@ +1 + US AG AI AS BB BM BS CA DM DO GD GU JM KN KY LC MP MS PR TC TT VC VG VI +7 + RU KZ +20 + EG +27 + ZA +31 + NL +30 + GR +34 + ES +32 + BE +33 + FR +39 + IT +36 + HU +43 + AT +40 + RO +41 + CH +46 + SE +47 + NO +44 + GB GG IM JE +45 + DK +51 + PE +49 + DE +48 + PL +55 + BR +54 + AR +53 + CU +52 + MX +58 + VE +57 + CO +56 + CL +63 + PH +62 + ID +61 + AU +60 + MY +64 + NZ +65 + SG +66 + TH +84 + VN +86 + CN +81 + JP +82 + KR +93 + AF +92 + PK +95 + MM +94 + LK +91 + IN +90 + TR +98 + IR +590 + GP BL MF +591 + BO +593 + EC +592 + GY +595 + PY +594 + GF +597 + SR +596 + MQ +599 + AN +598 + UY +687 + NC +686 + KI +685 + WS +683 + NU +682 + CK +681 + WF +680 + PW +679 + FJ +678 + VU +677 + SB +676 + TO +675 + PG +674 + NR +673 + BN +672 + NF +692 + MH +690 + TK +691 + FM +688 + TV +689 + PF +670 + TL +220 + GM +221 + SN +222 + MR +223 + ML +216 + TN +218 + LY +212 + MA +213 + DZ +239 + ST +238 + CV +237 + CM +236 + CF +235 + TD +234 + NG +233 + GH +232 + SL +231 + LR +230 + MU +229 + BJ +228 + TG +227 + NE +226 + BF +225 + CI +224 + GN +254 + KE +255 + TZ +252 + SO +253 + DJ +250 + RW +251 + ET +248 + SC +249 + SD +246 + IO +244 + AO +245 + GW +242 + CG +243 + CD +240 + GQ +241 + GA +258 + MZ +256 + UG +257 + BI +262 + RE TF YT +263 + ZW +260 + ZM +261 + MG +266 + LS +267 + BW +264 + NA +265 + MW +268 + SZ +269 + KM +290 + SH +291 + ER +297 + AW +298 + FO +299 + GL +880 + BD +886 + TW +351 + PT +350 + GI +373 + MD +850 + KP +372 + EE +375 + BY +374 + AM +855 + KH +853 + MO +371 + LV +370 + LT +852 + HK +381 + RS +380 + UA +382 + ME +856 + LA +377 + MC +376 + AD +379 + VA +378 + SM +356 + MT +357 + CY +358 + FI +359 + BG +352 + LU +353 + IE +354 + IS +355 + AL +387 + BA +386 + SI +385 + HR +389 + MK +421 + SK +420 + CZ +423 + LI +993 + TM +992 + TJ +995 + GE +994 + AZ +996 + KG +998 + UZ +508 + PM +509 + HT +504 + HN +505 + NI +506 + CR +507 + PA +500 + FK +501 + BZ +976 + MN +502 + GT +503 + SV +977 + NP +971 + AE +970 + PS +968 + OM +975 + BT +974 + QA +973 + BH +972 + IL +963 + SY +962 + JO +961 + LB +960 + MV +967 + YE +966 + SA +965 + KW +964 + IQ diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NA b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NA new file mode 100644 index 0000000000000000000000000000000000000000..da2386e720d53080d63b7e19c14a92f60039ed10 GIT binary patch literal 866 zcma))OHRW;42C^z1Fet{6tQQKMFu4z^UT1e;sWf^G`pUHPENy?t8oW@PeUI_AQsKI z_V3Rgdpz8IpyeYCW*RHC$mOlijiMU&dvHOz^rK@l6L|il%WnV(Y8-fHb;N&4J zf>L|Tm3VE_Zt{L)S2TAi% z-Ie;TG`uV-LR797G;K>I;JL26(az{B*EJ^;IRUX5O%bFSE2zjiI@`$)fZGaF9kYL} zdY@kbre|Fr6*iPiRNArO*}%)_aN>o?1Nm}KwzWI%OHj$YjPO7>UiM!kToN z_NTD9kJ_Mxa45Y?_`c3*^$A_&>K3gVJc-UpTJAi0?@~wiSXLqA$|DcQkEKk)QEd#K F=nGauu4w=O literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NC b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NC new file mode 100644 index 0000000000000000000000000000000000000000..6a9fadadd156d4ca4ea47850ea1cf7c989243152 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz<_s&-~zU|P?>WMBX^kP%J*&4vH~y{HOI literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NE b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NE new file mode 100644 index 0000000000000000000000000000000000000000..c245a6ba18de0e5cbca3f2b344f4761f0a672457 GIT binary patch literal 419 zcmZutOK!q25FJNCprUR#0LmhZWPvpP#2+@Oi*9=X;~l2}=OR5rZ`Cz-;5h*l(OUAn zvEO^1@%&tAaV8SqgdhaHMOGmlPZu``S^)ikdpfH2uxD(=Sx32ZDVr#@Nx6>_(IWQF zr|dwMq{|X&XiPuX?ChkmA!YBo4h77!kf4=f#Zqa5lJ6n1HrAD9>|7IcQS=s?CHq&F z{frHN*zjbluMa^8<$M3;xc$UbeyL&xPOGAAdmmBP;&nB=0IeHYH>z%Q-57Y#WW+=> a2T=}0o0k3P(UTQGtA}SaRP68CvE~i64pG+t literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NF b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NF new file mode 100644 index 0000000000000000000000000000000000000000..81a971fc33c9422d717598fe2e5d418187b1df3f GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz<_s&->wU|PVyWMBX^4q_;n!N33jc)|(R literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NG b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NG new file mode 100644 index 0000000000000000000000000000000000000000..88363e5f59f070161f528a6c7c40d528dad8e928 GIT binary patch literal 879 zcmZ`%%Sr?>5bP+rK5l~eI_O~!vyg@EOft!cAfCMW195NSN9YXrL4KLwKUkd^cVuM` zGij2l?n+fYziID{X!n(fj4^bXW!bc==a=_jQ{Uy7hFa?0&_UT2-vde?S)86VHuhbM z0!wv&>odDLG-=fZt+Z%REIqn*F$Y~zcFT6PQ1Zy}QSstK#Bq})U@p+StV1loUm<8+wNUCHG_u286(enC8RZz-2SOM< zj}p7FExH~jX60HDoE;XBg%!hz#L(&o;Lg)S`Kd>L>*Khs!4XcTL2C}!k4WWtk7jgM!GD-oK}p>Yi}n424(4(*cQ^A|6Q#X^GUzcEgPn^C#%QL0iO!7=H?_Q~##iD-8QayIA{U;588ew$LEZ4+es8qyxS?)_^fb7MdS0l^ tVBSImUWxkJHVyelJgH(T=;_`YDtGW6*UoEf^aDI1v=aaT literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NI b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NI new file mode 100644 index 0000000000000000000000000000000000000000..b007153d4cffca2be1e0476896495d467c1b2cdd GIT binary patch literal 116 ycmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz<_s`dn$^pkxHILoWT~{V&SyCXJsYy%1;$N~0L(ftqi(htacoG?68Q`R z_r3cWA_0=9%;r*g2Z$nMRU5ZbI+J;e`sp_(?hw; z(9o)qn@Vjeo!umcS=tt-v~k5KZ6~J?biK`WIOnrf2n1bmB?Ue|6pcKO8rdfiTz^EK zWRh;&hq7fGQklFA>9I&i;OTrk<6hUUG#tRSC=Hixg*(aL)hWadu8)(!`3vYga34=- Hd?)$^ug!A| literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NO b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NO new file mode 100644 index 0000000000000000000000000000000000000000..b221c19cb6e3c9187152de515d98a3f4b58121be GIT binary patch literal 529 zcmZutyH3ME5ZtpAVJQWoph@Mzg;QAE)3>IH_<_)Kxh`J;=Re}t_y^`Leh>*u_O84$ zv$OO4L%UC+swN^K1U<>i^~+8v=zff7{UqoS)lJ>$71d0~6M*zF*yZrD9bAoC#(lNG^I77Wz(tb;74-XrviIIz0emHiNNFbuuL>L#gV@d(M9 zIj3{4$E#j-eiMWbQa`^V_7|$8M7=!~9lBt-I6@*Fgyw?iscu!%>ZUaS931NLi61!7^b z9qVU*&iC;N7jFP!2NZ;W+l*5zFR$-z8(K{lqIEvRq)6}j$0-Y9 z=nw%{DO%KqIfA;!hdJ4fGk=s+O&jGQ!E(UOpf`hI y>tKO1BA{0T3TmyG)8F{tQ#b5ksadmWM>(9$7X3 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NR b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NR new file mode 100644 index 0000000000000000000000000000000000000000..71630199cc0f57009c3265daf8ab608231721c30 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz<_st#gcU|Ph$WMBX^kP%J*&4vH~z8VTn literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NU b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NU new file mode 100644 index 0000000000000000000000000000000000000000..215ba9dd6fdf2445b90725e8e887b3d226a77dfc GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz<_st#pfU|P+at0Q(x8f~#={KHDjwQWxjh z-{13dzJI9xAgaEIh%rW&UTxj(?frA?Tx7J&l@t*mN&axJfsbw%e2*3NV6hpz(gv~? z>>&o#3+GU37@TDTo2<0by%|Oerxyh)FVvWmVo2D6}VmC?D9vZNtw1y3tPFv8{rVO_{>A_FXJkT0A_`Kg&h63+if)$6kx#Y-!oZZKF1gPH#b1nY9Zp-Xb0znZY|u^G&8)2ysC&U3_sZaz5T;7ll&Oy>R|?P4kC<;T!9yj)>~zC{%EQLt ll^XvSep*Pg?3(94Vt-w#GaXl1&;kgZB$(<Yfq9l-%LV>z59zZ<+u;Ua;Z{$I|jCXKah!Hn-F*C`3 z{eRlW3&9Ow9jGvdJwF~~oh3!vt6tYK(QVXp_rmm*5HzT`Fbs2=%2*q^g5`iah#{a} z5wVb2DzjV_mKc0~2`xXwmds1i^H`Z)xuE5Ufw;!A z>zx^o*6$x!zXF8D zk5dqc;}jX&acYM;x1Hc39UJaB0XIiBTtO7-F(0E7Dc1tA-i; zDD?^}Q<0VRo(eywwpeFgCLPh>c;O4;g&BPQf^XXe{d}JN7G3>_{>)U)`eicC0ek{? CqhR*{ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PF b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PF new file mode 100644 index 0000000000000000000000000000000000000000..cbe240b1aad52d915fc35f8171a9739e6051219d GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5UPx# literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PG b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PG new file mode 100644 index 0000000000000000000000000000000000000000..0aa87ac6997118574ae2b5a768891709bc5d95a8 GIT binary patch literal 408 zcmZ{gJx&8L5QWE+5UE>=Z%IK^G6=+W!={A7`HEiSWf;waA6uysDb_z`eOB_d?QLHsOyLxPoH{?8x)Luw?z z-lX}~7A0w;tKVPRCbR!{?m7Bf2b9Et^v4^KK9inje9pQwJ&e%XI!SPKqHZwTfzice hc)bj*Bq7?25d|ynX=+{}u+%qbJJ^-G>aJY7=@;h}Pn!S$ literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PH b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PH new file mode 100644 index 0000000000000000000000000000000000000000..307646367ba385ebf0f73bffb6908b8a2e673eef GIT binary patch literal 917 zcmah{yN(nw5Nz*hxr0MUNW7AhHke>6?Mb%V&r41uhzOAzXZ!&fc>aJ-;n(;Fs=c$? z1$2;%+tt-o)9wE8leS-pF1{0yQi|SGcU#)0&)?F%EZt^f)>zTih%7H4Ql9VcTxYOj zZrzWn9^~43#1Vj|>U>BDGJxE))GvxIPm0bu_8}$+-W4dC8sOe-HEsm1np=(nF(4jT zs_X&OTv|CwK7yn*(0)=(IB8!0_WzHCWcO%5(NoE+#0>Y%hqvP+t^GHq&Byl`*F9~F zAw_Ea0HRBJK07_biI;KsMbp(}caz&qEHftM6m4fSS*>t?CR~u@2;go97l{qMW0^5` zF5O4nz1%9xfGdXvusXyEsURuWz1KZ@*X3;@4jF&b^yQ#qAe5kFS1FJ<^y*{tJpkkq z4<4>ZhGxN>ljv6qmDR(-1cq>_j`6U=>EH;r=CA^mn?`GYw20o;PS0C>$$m9W9e(1I zGt&)V^e0`V(q%E&^bqyP`g85qGbWO;uS5O8nQsT{yztdrFmZSIs|V{;QFMW)l9zfh g%g+4UM+sBNHz%^)|Lt;p+=$)e!NyV?3vna*1?zpAR}1Md%yamdN+VvnnDn1|fe?;nz8yX!>enr_Hu ze}Ir#?8A`pwM{!HRnb}`4V$3=!pLxTMgg(BZig(gWPG0;KwW@5`@}ozcWs{oZn4j8 zV%O)GIP|&W<7>E**Z8x^SPw%7U|4n~VwIgw*0q9I6hRPmazP;B)B-M!{&yk5tiZGd z2k&rt!417CNpr><2?u7a#3`VF2nja$7hXNo>KLDI5TQrdCJ0sSaO6Yd`pmGg&WAR3 z;JUF0MDGuo0SY#Za3HQ&T+E)Fns9D$azU|rh5^btYG6Eiz~A7E;t`@^A?ogTHAJ)e z$HXQAMg)K36h=w!%v`EMu*zPn;kGZQHMlHA-=~uZe64Yv}gDQn61s0N*Rl__{ z33QKAb4ONmCw#FqVnz1`a*oEw7=;uz=wI~h$XSQ;4kGR32mR{v$MPXseffmR*wadD zs;HViGA(O*Qv<^css^-@yTyGx=zhzat=VktX6s;lMM4J(Jazqv%bCAFw>^`P_8;$< z#x7s%5KCb7Z5lS@17d2uWsEb8c}i~o&hwhKC0^@fRy>9f(}%&sAeR=GDeZbiZ0{MI+mau25eo@2fhomt{4DC@btNL`+NBXMMgP?q%&`IN|%t hCs$CO$MU*PShiZv^D(hb>v>EH-?yXDDKtolegPUri@5** literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL new file mode 100644 index 0000000000000000000000000000000000000000..512608500b2d3641697955a5cbe27d925687e5ad GIT binary patch literal 549 zcma)3y-ve082lWmYJr)pLK!l&LnQxyHVa}$2(h}}`V^475wFHOaE@Kn(uE8;`ObHz zT)w_(^+D8aiAV@Rw@HmLAC8}47PJD!89cr3o*q@wW5|;RxR@scw0W{HSP$MMZATxV zcu>YMI8MrroTmVWp+uZr-XoTO;|1L)ZLISgBAR+Mxg?b-Inu+#Nte_Ru6*ufgl`k1 zM6N&21yyfAUvrT!YPqRg?dsaz@}YOH&&#Wfu{QBsb=YTFcJUka%fqXPBP>c HwS2%2YTR|T literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PM b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PM new file mode 100644 index 0000000000000000000000000000000000000000..c3375cb93a069b7a10061f5bd514eef93db35138 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5U<&XBn)HW($-n?;AS0XrnhgN}#~})& literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PR b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PR new file mode 100644 index 0000000000000000000000000000000000000000..4f4566013b5f5ded40066dc31e3cf9bfd4404211 GIT binary patch literal 300 zcmZ4UmVvd3fq_w(0Z1@1GH^wkTUf@%q*PnhGBR)gX>%PzgIb^zgQ$kRmAQp^jis@r zX0(wmSdkgBBA{lVypgeqshPP2IT|D^Gz<)C%*<-c&1)<{9 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PS b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PS new file mode 100644 index 0000000000000000000000000000000000000000..5c9bd81b545d3cbd5077bb17e2d28121d1ed9955 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5UGQz+_+mG>{Qa0L_K~0K&}* AdH?_b literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PT new file mode 100644 index 0000000000000000000000000000000000000000..f15b375cc78136b3fe536648671ef57f70724541 GIT binary patch literal 407 zcmZ9IJx&8L5QWDpMS&s>JyMD-c7;~5$Nw~lh7zSn=d5UQ3b3!hNpiK^f#+Qm87#|h z@6u{PHE0Qys0=-SoBTrwxNldsRn22PMUp3Y-M*cK5R z#DjqwN)9r~`pUn}f|P46nr*#;?OTv_r0$9V%clu52^1}3jhEB literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PW b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PW new file mode 100644 index 0000000000000000000000000000000000000000..4e81dcb1d87b8edee4936215beb464d52bdc8beb GIT binary patch literal 111 zcmZ4UmVvcAlYxPOkr70|Fe3w#pCgz6Nsz>5U2s963Dwx5*004;y B3MBvl literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PY b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PY new file mode 100644 index 0000000000000000000000000000000000000000..310accd0e76129b62100d4382b1a94e51ba28359 GIT binary patch literal 117 zcmZ4UmVvcApMimakr70|Fe3w#pCgz6Nsz>5Ubz77L>$gPd~n@T9GZM3niV}B;sD`Wb$?Vanr zufAbpUT_hVV!(b}%UO&B9}}A{jTroQhuC(&=nA0}_jo*ki3}W}hf1cT3R&6AOU*Wc V0>uxQN^b09WAhWtlKq6!zlS8MC^x97^B-oP1a35yuE)~p;ThDL%SDBCm84&y2+vwzG)KerIJb;yU!4} z$jQwGVuZ@-83Lm_8?R<5!7{>SK%?UM#OnFeqX$lhX!Qt-6^FIiH*@#$%m^iK`fpF& z@fAT6by5-|Rtv(@hI+o}l1-3}KyHm#srqnNd^ZuFS^827J1J+9RdQ9lQzt{jlt9Kfg^`yR+`jOO`C5RSU3 zfA7@1ykf;Cx(Q#bNRSB2fh09_-(&A}4``#Op$C`+)(AkCj@wSl&dAQz-$kcYgg1t^ a?|2YM-}T8~+gRw&v%c-jEEawzn{$5~i)$$W literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RW b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_RW new file mode 100644 index 0000000000000000000000000000000000000000..1578ca1e3efb4642c133604613e649a1bbe27a50 GIT binary patch literal 343 zcmZutI}(C05Pgfoh+}JIML~guGhs0VN-scRV}W*_LWdi9H7{W0i(>pXyPNmfPtF&_ zM?hLIh+x{OTQ>XM;Z*m6n7QdmV62w43z%S{))ZQGW=1u8zu-$v>1qDrX*vX4|Qb5Cua0XldVF&+C?HdZ{*X>NyXA%>=aS! zOvY3394=0R#*$eQKef`-(zV3n9C#2R85aYu+VU9<|Ik~|0 z6icxEP+Y%3QPR3J>(b^tu^3STGhLG4*-B*@*SAD7;UAPg9RGp)OE?E{9WJAu@GCVW Seqn;W{4yaUD?jVc_VEo^kYvjM literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB new file mode 100644 index 0000000000000000000000000000000000000000..884aa180f9c1fc023c3f63f6772e7c4c33cf5025 GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U*8k6yV&5Yj7MSN=jz^2#SPwdbZc& z*_mDY?SrNlBJ)X@jG@cwY-#($Ydjj7u%;t$df(pPIt;0~wC<_|n|7^xutV#iiuDP3 zJyl7$^;&k&n7h|B946%;rS%xWVL_Dlhh8e%2yWkL(B>YI5ODyGb=W8DS>tTM5=7xt zKva7^`8$-M!ax^cRD}Et2l1uN=*0haWN7Uqi}UF0P8~6-xS%G(+#^8pfJ4dy)jm)| zsV-O`^B>75yhvUYW`?0VH&l!nhO4KCG3mAb7hjDV&H4`ETqFz&T0KAFxxQ#UuBJhU Z8Nm1qU2jLT^Up%lMs7Av56$=&-Z!OUZ|VR5 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SD b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SD new file mode 100644 index 0000000000000000000000000000000000000000..44688c8d240a111abdfda4a52f35f97f7106a8c9 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5UtQkf((#65%lPy1fFrBTM9uaBCo%M-s zJk&$Rnd?mDW1jc>!~Nh82iqTv&ivV0k>1?gIWLRkm%S+HkmsX2>l$&&G=m2xAAT=mOAD@@&>fiX0e@ z5RYt@4C@T7)s?`tP}WsroewcVZ!Zwnj}Pw1R^61%z67v4 z_~8#{*sJG--4$+E_+1gWQc5>kJu!vVczau7N=epWiEspZ?0!Y>= literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SG new file mode 100644 index 0000000000000000000000000000000000000000..ebd558c03dbf9719a80aa219bf0f09eee55c6008 GIT binary patch literal 407 zcmaKnF%H5o3`L!yq85-CKw|CCp-3Rv1ln{$o!D3yLpM$V^a`AWt8oW@(uy)5GC0xy z?>qMMMd6i5JqSf9np)AhDeLp)R;+{@MG>B6CDOpB*y`MSFhXZIK+8sNcX{FcF8l49 z-XF={FuUdeV%);6wW6^=@3~mY4>ojI%Ruaz;8-a_adZ8AQ*b(9t%}BMd97=dvWC!} z0nIaP)6T1#WrlCI&62`Yl5_(`(FA^3-;EUnl~afonOJ0)ec&q>`CO7}9}PX#Wo8+c M`_Bi4JJ?V62FZy?2><{9 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SH b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SH new file mode 100644 index 0000000000000000000000000000000000000000..3754ba77ef0dd2dfb2309f5456ff543360fe7059 GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U<&pCnxw?QWMBX^4q_;n!N33jZwd)s literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SI b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SI new file mode 100644 index 0000000000000000000000000000000000000000..35fe0ed088bf62dde9f47e165332379a4ce9d4c7 GIT binary patch literal 619 zcmZvZJx;_h5QWEqh^*)qA)rA)O5sRZ$-l8pgD7ceD4jGYr(m6i^Kdopz}QJPi*}26 zM$Wu1^Im>_A^!r%J^_Fb0{5QpOy3RrwlQPy*2P|7Pv8nW-PjT5prJ3%yc>e>VrTmx zy^2M7k*e3G_Y!aF2%4n^r34Djg;csV2zf+^mpICJ)H3e+pm}K3BFj;pL~<2vEK3_L z*mlBNHjP9JZkY(yp&c15h(;e-z&+e5$lhNG;1P`-_gmagyI>RJWG6inAp3a3?7ksm z3nq-mP4AZ8>M#?XzYfcA0Ncr_k?jXxpK-oaw4 z_Wyr&-1iSEUx@gV5SZyC=+-(vK0Uv>nW;qfGdgsPM!#QXI?_sarniHG;>y>zH!`T! zjgtzp)u#31WP&u{H2~RPAe>%hFPvK^wO6Kkf86pHb6S%)rN_P`ZU|C-CBUjP?%$bSs-{RL<%RFx*Dv1Jl2 IP85m0020$>N&o-= literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL new file mode 100644 index 0000000000000000000000000000000000000000..d0054b8cd659e761f5b52d95b313612c7b21f251 GIT binary patch literal 285 zcmb79F%H5o474j%Fd!z_89KCxN{JJvfd#Q67RHc`S3vS39>&5SaDV}^;o5U<&pHnpDNWWMBX^kP%J*&4vH~xyuSA literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SN b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SN new file mode 100644 index 0000000000000000000000000000000000000000..01883c940f0a78866e2e757e914bedc7f1cf705b GIT binary patch literal 424 zcma)2yKTcT5IqWT;besrDpXj70FuX_(gaz+P0BMnPvKBYcmXevl`=wh$UDn05~PVh z@bMk*J>JvD7i~^N=0ezvp{;PPhvR!$3~hk(f-?2IdwI6bHpL=tnroZI1I7_e@!kvr zMxXN>B6R1hI&nUxYFh$v;<+|21r9766oVu+jPPaUY2{f$tgQ%7rH)OVoLCpYptn<2 z13PilLcl52CV1y?Y#A)7Q-MGy)yuz=<{y)G`&UEQH0^)R56lRP?BQ2-Eoyk`-uC#T kpVV0kTt7okJ1G1zD)0(72B62m^@HyR?uVcXb6uw@tZO)VKBW>T{MD1ZUhwS?NoL%`k+jUy4xz}?(1Nm^+Uzu9 WLDL};v8N>Cs=wsKD;GwWUj72o$1rgK literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SR b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SR new file mode 100644 index 0000000000000000000000000000000000000000..ed907c11fdbac068d3aa214384eff71de1be4882 GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U@X@u?bL; z%QD&mtOrHj(gGxH3Y2H^a|9D0gGgdCFa?JIo%No9$-n?eLjWTKp9at^#5Ul`x z%bxdU~@YU1#8uXk0s;Rm>6YV~z8U|wGEnpi|(S3`z?AmE^Tk8GV(QRW6jXg9@w??(@ eEHmwf#xOb$tt5Ah6aK6ufKBj+WBFn9LHYvUmrE=F literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SZ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SZ new file mode 100644 index 0000000000000000000000000000000000000000..ca05ebeba7c5e977ad54d4ead461100b28b95f8e GIT binary patch literal 412 zcmb7=Jx&BM427MMMo_HK9)V(ujkF^r&W{J06&IkP!<&v%faeTba1E};9eA0g0Evc3 zaUA=z^Wu+B8efUrJHa?d8|6vb>E*2+WN~x_PY&~f9G&^NKi)HT&>+n;rY6Q(q@eU@oROcLE^o1|&`I-9xDn7GtDiZ&VB7wq5n5&j4;yJ{ng>mfkRoSnCr8$&XanY`~M zxj(7860sd2Fh+Hd*7-QiH@7gVkjDiFw3V_w?1OTnk0O~MdJ~fks5)r$N6Tm}r4fTv z8dML)Vkzhy^wZoW=cYM%G_#40$)lM)%(sVC#lpa2bv~AmU-8$TR+kfg^`J_KG+59= dpe}>arp29d>3$}v`Ot9LaMf^~0aoUleF2jEIB);} literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TF b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TF new file mode 100644 index 0000000000000000000000000000000000000000..70dbefb6ea939bffaadacd5ea29744a08e13df12 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5Uqn#9JyWMBX^kP%J*&4vH~tkwyu literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TG b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TG new file mode 100644 index 0000000000000000000000000000000000000000..bd37702a9bbca851b414cd4e4f7b9af72305ae0c GIT binary patch literal 277 zcmb7q~AyZU&bNNq@LBALY2vUBV`htP=2EpCJrktSoE zV5MLxYN^N}I-hti52?}h!w;qOm&z_D1W8llzwVG-&$7r9GNnZ4K-ktYp&6S=Xc1Uf Ox~!j|4D3zg@cKSiOu!ar-1m4crZdrHpa<50s4>oC zFujelBXO}M#u8gI%RRKxW*Dub7As$pT;u^8Uy7cp8|9@e^oo?`B3yIwXv&u9KMN&) zE!E2-0tH_A{C#D)w=0|F;kHl?s@G>a#1m9f0s@vmDY%5K(5)cUq%1>fVcn=*qj!zr z>j7$n3)v{7uRD>Cus@t5rdvXF_MO13@IUQ&*b+d0GT#an{1m19GiA9LtyCTN;$MMp D2Ao?# literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TJ b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TJ new file mode 100644 index 0000000000000000000000000000000000000000..49a1150f0d77bee3d62c4f34a6814025aa0fdbd9 GIT binary patch literal 550 zcmb7ByH3O~5FFv6_lZ%WipiY zHl`scda#NoLohQYYm&2^6UVs2#jw&=Nu|v&678uEqSr$|_q2qo3GXScytF^4;^B^g zt}NtVIf}=7p!`7P-lPBnbIV2JqQXVD8COlbqt4&KOdLn8Y+BW{I&TIi1dKL$8LW#8 zrE4Xlk98O3b@5U<&bOU|`zBz+_+mG!9}Yn8CmR0DDyl A^8f$< literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TL b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TL new file mode 100644 index 0000000000000000000000000000000000000000..6e91c82a41b8d1c98e2fa7ce26120510a7d976b4 GIT binary patch literal 295 zcmZXPF%H5o3`M^qMI8{_0L0Lt9V#VhN*Wf#j+ofmY@7m`t8fCY#vO2|s06hl|KUAb z&hrI%184(oL|AsFvaa%>zutF|AUR!RgmrP)n@(3v7-|k52FqbX$wo7ogv@AdYTNM0 z!li9#)sNuJSIAoR4_h@sKZAaP;(R1YByIq*R;NGBU6NX^UE*ID@2yy_KO+OiGQBiE&M| zv94*Xk&z})))cOak%7a|$k@cx%-jN~p4%+iOxFTrjv2BFGc$-9pb92GM=$|0og_8` zQ;07E1M@=$7K=JV0|rJ0Mhgf5^Z}3|rvdeWrUuYS*no7XZjumWj|TA&OAn>mUQBLj!Ip^>qP zshK%YQcT0%$|%}E*F3hy#GuA9CPfpd*bJ^8sMyE=q8g}}$t6DDySGKs2GFPGJ+9A F7XaJFE)xI% literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TO b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TO new file mode 100644 index 0000000000000000000000000000000000000000..fbaa1bc39c7cb691d871b985ceb09aeff8bdef31 GIT binary patch literal 110 zcmZ4UmVvcAgMop8kr70|Fe3w#pCgz6Nsz>5U<&bPU|?Fpz+_+mG!9}Yn8CmR0D6-N A=>Px# literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TR b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TR new file mode 100644 index 0000000000000000000000000000000000000000..ac898c0625775203b68a371e1d9d441b8d9e5f77 GIT binary patch literal 307 zcmZvXF%H5o5Cr#vh$2KsOOe7wf`nu{F|kWNK!Ko=(}$} z^ZGx5+Q2X&3ljvjkw^}E0ZX^saL`H~}MdB*%orK|)n8&=tFoO~om|oTAt0)p`eh&>*G~v#_nn z&-*|A{iErL$o&wCbM#g;*TeCgFOFW()4S&jPH3l5S07uE;`>l7V)iBUv04$-!_iXV zKILi|U2A6wsniaTForpr10~|UtOLN`12_Y*29;p|iZ3j!gWdvl7FHz!50%0oz@TLi zwxp&_kZzIw-@3cckOB`Gyz||A*`CB~F5UgjVwCo98!%s zu^*_UsXE8{<}YXI(h<4ca+a<Q*XWQH{44xII%Rmw}Dlx1bHcBCZWa4 zGeJsvCNt`{s5zg7#p|2o@P&-!xW+~hh=(F`EOA=~Z6t~Qxw`9{=_*_oYE$S}S;-ypZ4Vr^m(f|Me literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UA b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UA new file mode 100644 index 0000000000000000000000000000000000000000..bdf7e83439598b42d83f2625c399599d437e7684 GIT binary patch literal 1013 zcmbtTyH3ME5Zp@?5hOYq3XoDnA}3+#d@uWG5Td7o>bQ=t0Ed?Upyt!yADCUoF@gvQ zXngkW?C#90@AaK#4@A>9B2r4xL3UMaQ@Oi;Y}bnRaE7zAMvhKb7w0b5Ra-irYsY86 zXH&YEYwJTQ8tCRzm7;xD*Vg$E8#FlK2B`}M1uk-ZLj71aLwQ2^zDr}#yfp^#i1;>- zP!B-UdHSA5Xq%s0Un;_b73_Sc$?YYycQiFmh7_sI1BTF)j#g|4`=M8$;ns5awWj&9 zUM%fm>42M1gfI_%*@u!%6-w7Ox(kSiTA0*i*A)FlI$iu!*BkEHVl>;?K!NtMR^V_f zO#9W@p5}%vjxTJl`aN1%WYZQaOl6A=K4P|>sfwP205T=p#0!^9+a*Icj`MZpd6hOB z{1S|?`afMqJ%^%)f5eT902wneT^xVr@nIM{@W60k1+Rxx>|`mC*|phM5z=@uB6mbF zJTS(==^iy0Fm#e>f)PXH4rqGWNdyBdjO$&|f2V~$E*tBxSnd}1a_Zl599@NVL?3)F B>5u>b literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UG new file mode 100644 index 0000000000000000000000000000000000000000..e82ed60decee6ca79052b9ab7fd3f921e1eb67b6 GIT binary patch literal 488 zcmZvYJx;_h5QWDZMXQxqQGo;%MT$fs()d3{NQjD#j>?;EPXY0bxDzMf4m>;BY*wO~ zvBz(|8Ncsesy~Uu4P!C60K9!KuYI77}`?EI=>KQKq!Aurt1syozY z8K_rb(KyUrG=b%!*}T6BLdbvn_e`6QH`qb6#YDD##98nh;1gAJ(?(@{AM!3Lb#3{4 zM|C3~8kMc2`Zc@2WaRMx0xqK>3;2&@kq@vaND-zuw*NwK-#Xo4X|vsa{bKlQb)%0+ zT3l5oFIGb=h`zdj5UQ4WiAW1+UJ{ZrW^+}HN_Bo77Qgbu{FXU7A>&0)Y>J$CK*V44GV{~&HY^`c;L=sIDMDR_iwx{22(NyK0FS`SeHDMeoMmjuM#m4&!CZUHQn?$#1=8Zl3@E literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UY b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UY new file mode 100644 index 0000000000000000000000000000000000000000..0155f5662daebbea0128bb8a5e4a5879c3a6fcb4 GIT binary patch literal 116 zcmZ4UmVvcAkAZ=Kkr70|Fe3w#pCgz6Nsz>5U%RRTA&Prl!m>PS+t>%DM-G? zJla6l%raIJqyR}FBLko(P>}^t51%DanW?!h*g!OOmPqQD{2Un>fCR`MlGqGP zp-~JB%+DBDEb0sm7#JBCEg%HYH$aA*2Glp28bF5{*Mcb{IK{xNVyK{Eq@ZG~pke~i N!EB*o$OvMB003oIFgE}I literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VA b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VA new file mode 100644 index 0000000000000000000000000000000000000000..f105e014021578de839e6a6de139576d95923d14 GIT binary patch literal 209 zcmZ4UmVveWGy?+zBO@aNyMb9uO0`8TBLf?dHZ-UOiZXB+n3-8x0Qsf}ahRx~k+F#> zPz|%6z9WPL>0t5$a)1QMYzC$DT2;jAz--6hhPK;(m4l%>*!t-CfHK;m1O)-< z5w?s4iCTAim62UYt~9GXBZ_83VsX+`pbsN^XgOys5W%qkr+EWI_XvaSLriG)JT*Jx z&h!Rm$_=dGa)@Dz^dV;3NztHvnh3C6oYJ?d>*uE>dk<&+5X8DCa6ec0 literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VE b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VE new file mode 100644 index 0000000000000000000000000000000000000000..ec87502e4816a699f8a916dd63f2fc2fff694028 GIT binary patch literal 356 zcmZutJC4FI6nrlzs|X?5y+8^g5$V~ndS@I~y z*d;4LRP2hus}a*$E1bdD(ZTf76i00BrU5)ANJwB4Z|a#w=O9o4PsTm3s*Nvn9~0iN(W BLuCK} literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VG b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VG new file mode 100644 index 0000000000000000000000000000000000000000..a1b0d8ced3022793dc2039d4d8748aba40449125 GIT binary patch literal 407 zcmZvYOKt)&42B&L6{^GqdH~c&Me^j~NxCTNiXBTf)9g3}c&@-nxEgoppP8zR5Lx(< z`2S-2dZWdO$Xp1<7+Sw?KV1r%;F(oK+g4Munwf3qHo5#9&(a%O!nYp{_mI&SBoI`s z%UZ)An!6B-9Z1osAj`#C$U?6nOUIj7VZOH$nxR*)Kxv#0AaDQ4o}ut%qz_`1q&ZuS z0cj``w2XZY=okEfHb<~${sX@~PBO%|--!uY!Iw2!>Bjt1c;oAFym7Jxk|7tYcxKqxTjybAjSWoG@bINo*Rvp$vX)6q T)$LOLfM%=|K!KlwA>zLQ`>9(W literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VN b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VN new file mode 100644 index 0000000000000000000000000000000000000000..0bde54c53b14bac271087fbc021f62cdb0fcaee8 GIT binary patch literal 920 zcmZ`&OK#gR5FI)RV8;Op6h)B+S$LrW5+DKmh!ojPkPBoLbi;V(Q^eF6vg;{&wcep` zNZCpZXCaZAc{B57-stZ?x_TwLcq1Yq1bz1}yS;7wn4;>2u*KKVhEdQm-;^8yqd)b- zFO4TkZ5fqRl*;3bruSRiw@otHuZ-*1uI*%w0KDvyE#7Q|7nmlwZ0ma0`E9Z#%TTK1 zB2i7b8|E@57cy5jCNKH+o~58`t)$YXw{8IApU4AvQaCkQGnQ$&X!r=BDJe^vp+%d5 zR$&VFh+iu&xk%r-sf;hEYjzZ1hK0{ya2#Qar$<3}@hs2YY4Q6BiagUoN)jZd7fiII zZ#56GshQ4rIA~d^O{F)LVI}F3A%ZSsr34H=>ZsB3fYBcUINXfQNnEFoni?oj)U#P2 zOiQvj7}x+1OEMQ&*Iwq#7AdbXmCR$|>O*NX&6%dWIB0zs-KOd@Yw?cDZLOkq{3qnFDH?-6ncNMp7La+J e=DJ@Ijz2?|>G1k|n9qu%d5U5UciH)N zX7~1he*t6<77#Tky(AQ0$=M? zuQ)R2h*eEq>MY4Q=TOt5mbQYSRYVQhaiM6|Ir)5D`jD-ck$2b$Slk|e|L{&nz`H{f yD3d+KM1PLD!Tgsza0n@s2we>^gtd@J@SR z@PL=5U|?M!)9|neo#`kfN!he1&YB40fUg3v3Z(rU%n3!FdM^xvG~kS$mSMm77sU_3 Ku!VgFtvp`Kphlzs literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YT b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_YT new file mode 100644 index 0000000000000000000000000000000000000000..286d4aa5dedcac1327f0815b3879355f00d00961 GIT binary patch literal 224 zcmZ4UmVveW76StVBO@aNSG19tMQlt;wM8u>11pfWtObfQ@EMs|nnfGvnt-HC;8KhX zoFEAULnC7opehbCV@sgC8L~W32qbH229#&FFaS!MBTHL=^_rTQ1Erb#9Ki(0LV|1t grpOSWli3)U3=9|;85p4i&>K*|$iN14TaB490BBhxZU6uP literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZA b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZA new file mode 100644 index 0000000000000000000000000000000000000000..7347bba31be059cc39397dbf15dd893b8049c5fb GIT binary patch literal 358 zcmZXQO%8%E5QS$j1UZ7yg$ovth-qnQiyOlQJb=KCQz+cXt9b_>0!l&`Gp{rAz5cx3 z-JgnOaZbx6+Mb{j;|M4iPSY+R>@Rb2nAt^rqgxX<&{+0pq&7+3z#XC zLS{!3- hKN_L82s4=~Vqq=#gdtb-UqU>@le8EbWPfoMfERq%HERF> literal 0 HcmV?d00001 diff --git a/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW b/java/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ZW new file mode 100644 index 0000000000000000000000000000000000000000..2e08a23480eb4eb31b0cfb480ef37a971df487c6 GIT binary patch literal 1366 zcmd5+%Z?K<5VQlUM2H&*32|AZ95PZya{Dp%aEZ7f4qTDwo!fo|>-h?PgJ0W!pt?OI z*$3irB8SP?Q|0ciuJ-p^bMe)frv^W3t$DjUykifQGN9ma< z38Qex0!tF5;Ji>dWn~W73Sa>*z|z$cOG|l}D?UmxKG%e>q!5pAV@;CmR0k$WSqO0t zf~H=xlZ_-BV2{XGs<^stuzX&;HERmwLrhTN1<*~le3b1>D7+FWb^v(w>AgNgzQ1}m zt1q9?rnOl)XRNWyLwdI{uXY?E)lQl->!07JxigzBU2gs5Hb{rfCRV9xoUD1`wq&vS zddCEjQREpnJi=Ws6`rUsLG42tj$~zBXhaS74c0&~RTt1GJ$3BBkzHvu7TRGoLR(bA z|4;uu~VwXHvd?5j(IW@gDneIkpk?q@l>3Ku_sQ<#*C=xp;l?i&-0#Cju{V2}uQs0;m1XuYdNO&q1ndVHKVUF#Dy_g(R|r~a$e3cND1eiO zZypB!m5RSl;veF}fdX GZ_E#{7Bi9n literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java b/java/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java index a6155286b..5d65dc7c3 100644 --- a/java/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java +++ b/java/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java @@ -18,26 +18,23 @@ package com.google.i18n.phonenumbers; import junit.framework.TestCase; -import java.io.InputStream; - /** * Unit tests for PhoneNumberUtil.java * - * Note that these tests use the metadata contained in the file specified by TEST_META_DATA_FILE, - * not the normal metadata file, so should not be used for regression test purposes - these tests + * Note that these tests use the metadata contained in the files with TEST_META_DATA_FILE_PREFIX, + * not the normal metadata files, so should not be used for regression test purposes - these tests * are illustrative only and test functionality. * * @author Shaopeng Jia */ public class AsYouTypeFormatterTest extends TestCase { private PhoneNumberUtil phoneUtil; - private static final String TEST_META_DATA_FILE = - "/com/google/i18n/phonenumbers/PhoneNumberMetadataProtoForTesting"; + private static final String TEST_META_DATA_FILE_PREFIX = + "/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting"; public AsYouTypeFormatterTest() { PhoneNumberUtil.resetInstance(); - InputStream in = PhoneNumberUtilTest.class.getResourceAsStream(TEST_META_DATA_FILE); - phoneUtil = PhoneNumberUtil.getInstance(in); + phoneUtil = PhoneNumberUtil.getInstance(TEST_META_DATA_FILE_PREFIX); } public void testAYTFUS() { diff --git a/java/test/com/google/i18n/phonenumbers/PhoneNumberMetadataProtoForTesting b/java/test/com/google/i18n/phonenumbers/PhoneNumberMetadataProtoForTesting deleted file mode 100644 index e3ae11d8c66076523de3adf2fae7e86afb6bea09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8113 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 literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AO b/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AO new file mode 100644 index 0000000000000000000000000000000000000000..06a7dee0c5919b9b7ce5f350f7e990338dd78e94 GIT binary patch literal 251 zcmZ4UmVveWD+2=qBO@aNXS9)JY)neEMJ*!(E0DIV1qw6B8pWh&*jq&#ndyRLYhqF$ zOiiE)Q@Bc?ZX+WjLnC7oQ!}6@Zp&yxU1N}8=EzDcjf~++nEV_W8Gr=H4wBdmOpg9Q p7k^=3GB5zr5WvVFssXgkxK!T9 zwn}$_duPbZzSae4;UbbtO{{lsB5y|pZwyTui;Au4)Qz&)48HX+;<(Th&UYCmJ!$JE x^81&BD5w8~Gt!JWk_=Zl*Ez5JL%3u-;h`Wxc(N!Km*x)VXEMR*uj24<_yPqzmE8aU literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU b/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_AU new file mode 100644 index 0000000000000000000000000000000000000000..1afde804ac9b189b016597efa182c8c65ad6639f GIT binary patch literal 322 zcmZusIS#@=5c7mvNKnyJqyULXGn)-01w}qUN43!L3Q&H;*Z2e81R)X8*p}_t*?GP& zx&u;yAcAGEtT>d{%kANJ<{QD3ve;SCFvmQ&yh}?)BSuy0k3HqDHM3Hc?w-Xl*|cpg ztkR(7_HjioOHQ?b5I6nRNa`~`dc;K4g1M_;NM!<1w7?VzRvSL?iBJyyrZg zFuMV$9Y|3MR<&`4yBd+b=McE-8jgs~`Fan%f~xej#$MQP5pKQRSh;988S8V>ZOrTv zw#F4if_#@bB->KR9Fu7&H|#`XL?I*6?44LOO!A7iVvDBuxo^K^@v{`zQe-EcD7=Yt m5e%^w1J4?-mi{Z1#xy#gs^v%eT7hg10`n4;DKM&|`I-9ym; literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE b/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_DE new file mode 100644 index 0000000000000000000000000000000000000000..e131c667ec197051d6a69658e65b5d310a0ed8b3 GIT binary patch literal 603 zcmZuuyH3O~5M1XJbclxLfC`;NibTpu>qnfJ1|dO9LF-F*Ujg2_G_KvJ_*+H@9*53=r1<6`I$h8V18mDCf|h<$7XT>?mMrOdzB4$L_t=prZb z>y2Zsz0_S|+ZbFfIU^Tu&w_BIasI_ryu88&Nd+?r67zv4D(Sk0s*X(#n5&_(lKV;} z-{?-kkmN^jY=bvI*$yda!xc`N_-f*t*8SyQd2L1x-VUQ%D7!i?@sz*}&w5a=W7F*31K(ldyw@1RbIu DHY<3~ literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GB b/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_GB new file mode 100644 index 0000000000000000000000000000000000000000..71e628ebe60374e88936a9b16e251253945c9520 GIT binary patch literal 482 zcmZvYJ#ND=422(!I!=?ITTyiLpuq-gK=PmDE(N;e5Q?^*qH%823-u7WLny~h9NUXX z@bP;j^?OG61JED%A;RkLeN^&9SaZ^3oN^f(tMbNirJX7-nx$Ijtyc}JgMp_aBj?3! zYo#&^-ESuO{HSc1*RIo6=7md{))Py;U>ViTWDbJ;7ax=%kP-wM9xmYtuL*Y-r__h) z7O)m77DX&d{}b5xvs%|#ZJZ>8i4-a&mfjib(ejGk1GfJTv8Z|zYQ|(gcNjRL9_K#a V{&R-jnPKzE%Av89c4Lf}04|lIU2p&Z literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_IT b/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_IT new file mode 100644 index 0000000000000000000000000000000000000000..1e3c93f60a16a828938cb03b40ea6f3d00db72bc GIT binary patch literal 418 zcmZvX!485j3_x2V5j+?ZW4wAG5t5N~Optjo9=&+-hTQxLWgp@{_-p=y-9SSKJFIQ` z-rBuC;6DKH1$-gGydqWV`gVWjLXtrUI4y*fhT9MlSGsM4oJ#t20>x!1bZ0om8q1R6 z={b1I&fxGNtNdNRF8?BKPIB;1}%Dnlqh(D@3wL) JVcAjcBVS7rOb!45 literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_JP b/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_JP new file mode 100644 index 0000000000000000000000000000000000000000..8666b3a77e4289daee193e56af6eb0458b69c4c2 GIT binary patch literal 399 zcmZ4UmVvd3fq}7&0Z1@{2pDE$VDfVW6Ceqa*bGcw0YGB{8JGryHU~7yRxWQ}#umr+f auv?*yMEDfNXhsH>Xd~lTgdU(585jWfC_YgD literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_KR b/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_KR new file mode 100644 index 0000000000000000000000000000000000000000..12d493302695a6668375981e5c566136eba2017e GIT binary patch literal 1524 zcmah}%Wl&^6unNGHf<_E70@ma2q}nKiluqa7#0;vgv6rTVRn24jQ@!5V#hyl?%0l9 znusiXotbmbJ@@5be`xiC=!EdAs*0XR+4wen`~Fk!+AasYgs!4Btl3G?0YvWh?t{uv zn*^{<*}~YA9gImeE+x=vr@I_gQ@GsDclC?~uS!X!jdkFACZlMS?V)}*#%noVMHf;O zpbssuXF-76<9r3%!k!1wGkIKJI1g6d;x$E0@jwcUH|s}*=-010g}UJLo{#|F0I-Z4;2iR3u0U#tb7pR zvPJZC28V2f%5E;3y*vrv$B&tfA$xvhjT$mUU4rB!;@^sctJRhn&d zh9kZ6Q5$@9UGRS2^p5=SRLV7KlTS8SQ~CHXN@4@TB9WeoO6irSTT#3G32CxO9XuhqS7Vb3kTnf&GeZk8`T&9_l=d0 z9eU9^TzFY{3h9^$-o!p zwdwS#Gi9f=&=zx8hb1wZ%1$xB4_9SIV8pA!I~~=pqQ@UPP0olWxVi}5M0~_Ws`N=; De=1}y literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL b/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_PL new file mode 100644 index 0000000000000000000000000000000000000000..9f5617874fdec4350579633ebdc2625e95a686c6 GIT binary patch literal 271 zcmZ{eJr2S!3`Xr%1q4?>B149DKyp&Z4+~;Ph&^QE6wq)YuErg3)Gm=A!}shb$I1Hx z%>w{uz<~(Mpte5V?oXEx8m3R||LIM8JnRFhIG8}j$H4~e7|wNk)fOujj)C$hf(j{Y$17m-BfiETm~e^9#rT-9W&3=g z_K}Ep1Yo8?CDw)g;pA$jHoUJS=}@e;f^!NtL83PgQYmYH4M-31LiQyd-{nBDyOn7(wp< literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG b/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_SG new file mode 100644 index 0000000000000000000000000000000000000000..359168d83903bb4082deb1c0e389807aaf37c825 GIT binary patch literal 356 zcmZ`!F%H5o40KurQ9v-Ucjy38kz#^MGNDdvEQ}!=uK@ZZzQ!N8v{5M%WH?)QzKi{Q zk-QNJM*tyc;aFG3`pfmcFIhE$#%N8++(4(y>8jNr$RI>EI=B*@U1PDL<>?t`Pv1mYWbwfuS{p(0^cARe)djqTTKpg-8 literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US b/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_US new file mode 100644 index 0000000000000000000000000000000000000000..b941f5098dd6b6fc94015c69a4e0c293f47a0f91 GIT binary patch literal 451 zcmZ4UmVvd3fq`)s1CU^3WRQwBG}g6@jY+AttgSJMHqbRTg>Wru85uZ$!sa@L20$j4 zp^>qPshPQjr2(CF30r6w7}S`V)tH;tSXgL+oCI_a8<580Fb+!t1NfCSL@ zAPSSsz!Vw`3LFMz14Ba~#c0ULz^;&5QIe;p0OA3K7#NrsL^Xi+7}shdQ6{yT3>+$k f3MxhlD#k!XAeA7+d}wM|!D^5cfRqtq9>hQZ_VQL- literal 0 HcmV?d00001 diff --git a/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT b/java/test/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProtoForTesting_YT new file mode 100644 index 0000000000000000000000000000000000000000..50d8c934b5963492581acdd9cabb9a1d0743d8b4 GIT binary patch literal 225 zcmZ4UmVveWHUk3#BO@aNSG19tMQlt;wM8u>11pfWtObfQ@EMs|nnfGvnt-HC;8KhX zoFEAULnC7opehbCV@sgC8L~W32qbH229#&FFaS!MBTHL=^_rTQ1Erb#9Ki(0LV|1t frpOSWli3)U3=9|;85p4i&>K(yv<~RD8le3EjpQV$ literal 0 HcmV?d00001