Browse Source

Adding two more compilation warnings - extra and missing requires. (#1671)

Added the missing requires this detected, removed the extra require. One
missing require was added manually (goog.object) since it's unable to
detect it.

Updated the readme: compiling everything seems to work at the moment.
pull/1673/head
lararennie 9 years ago
committed by GitHub
parent
commit
8851902ba8
6 changed files with 68 additions and 66 deletions
  1. +1
    -3
      javascript/README.md
  2. +2
    -0
      javascript/build.xml
  3. +0
    -5
      javascript/i18n/phonenumbers/asyoutypeformatter.js
  4. +59
    -58
      javascript/i18n/phonenumbers/demo-compiled.js
  5. +1
    -0
      javascript/i18n/phonenumbers/phonenumberutil.js
  6. +5
    -0
      javascript/i18n/phonenumbers/phonenumberutil_test.js

+ 1
- 3
javascript/README.md View File

@ -69,9 +69,7 @@ project:
4. Run the Closure Compiler to get your changes syntax and type checked. This will also generate `demo-compiled.js` used by `demo-compiler.html`
(TODO: Use target "compile" rather than "compile-demo" once visibility issues for getExtractedNationalPrefix_ have been resolved):
`ant -f javascript/build.xml compile-demo`
`ant -f javascript/build.xml compile`
5. Run the Closure Linter to lint the JavaScript files:


+ 2
- 0
javascript/build.xml View File

@ -43,12 +43,14 @@
<arg line='-f "--jscomp_error=duplicateMessage"' />
<arg line='-f "--jscomp_error=es5Strict"' />
<arg line='-f "--jscomp_error=externsValidation"' />
<arg line='-f "--jscomp_error=extraRequire"' />
<arg line='-f "--jscomp_error=fileoverviewTags"' />
<arg line='-f "--jscomp_error=globalThis"' />
<arg line='-f "--jscomp_error=internetExplorerChecks"' />
<arg line='-f "--jscomp_error=invalidCasts"' />
<arg line='-f "--jscomp_error=misplacedTypeAnnotation"' />
<arg line='-f "--jscomp_error=missingProperties"' />
<arg line='-f "--jscomp_error=missingRequire"' />
<arg line='-f "--jscomp_error=nonStandardJsDocs"' />
<arg line='-f "--jscomp_error=strictModuleDepCheck"' />
<arg line='-f "--jscomp_error=suspiciousCode"' />


+ 0
- 5
javascript/i18n/phonenumbers/asyoutypeformatter.js View File

@ -35,12 +35,7 @@ goog.provide('i18n.phonenumbers.AsYouTypeFormatter');
goog.require('goog.string.StringBuffer');
goog.require('i18n.phonenumbers.NumberFormat');
goog.require('i18n.phonenumbers.PhoneMetadata');
goog.require('i18n.phonenumbers.PhoneMetadataCollection');
goog.require('i18n.phonenumbers.PhoneNumber');
goog.require('i18n.phonenumbers.PhoneNumber.CountryCodeSource');
goog.require('i18n.phonenumbers.PhoneNumberDesc');
goog.require('i18n.phonenumbers.PhoneNumberUtil');
goog.require('i18n.phonenumbers.metadata');


+ 59
- 58
javascript/i18n/phonenumbers/demo-compiled.js View File

@ -1,15 +1,16 @@
(function(){for(var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},k="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,l=["String","prototype","repeat"],ba=0;ba<l.length-1;ba++){var ca=l[ba];ca in k||(k[ca]={});k=k[ca]}
var da=l[l.length-1],ea=k[da],fa=ea?ea:function(a){var b;if(null==this)throw new TypeError("The 'this' value for String.prototype.repeat must not be null or undefined");b=this+"";if(0>a||1342177279<a)throw new RangeError("Invalid count value");a|=0;for(var c="";a;)if(a&1&&(c+=b),a>>>=1)b+=b;return c};fa!=ea&&null!=fa&&aa(k,da,{configurable:!0,writable:!0,value:fa});
function ga(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function n(a){return"string"==typeof a}function p(a,b){function c(){}c.prototype=b.prototype;a.ca=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.ma=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};function q(a){if(Error.captureStackTrace)Error.captureStackTrace(this,q);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))}p(q,Error);q.prototype.name="CustomError";function ha(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")};function ia(a,b){b.unshift(a);q.call(this,ha.apply(null,b));b.shift()}p(ia,q);ia.prototype.name="AssertionError";function ja(a,b){throw new ia("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));};var ka=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(n(a))return n(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};function la(a,b){a.sort(b||ma)}function ma(a,b){return a>b?1:a<b?-1:0};function na(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b}function oa(a,b){var c;a:{for(c in a)if(b.call(void 0,a[c],c,a))break a;c=void 0}return c&&a[c]};function pa(a){var b=document;return n(a)?b.getElementById(a):a};function qa(a){var b=[];ra(new sa,a,b);return b.join("")}function sa(){}
function ra(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if("array"==ga(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;f<b;f++)c.push(e),e=d[f],ra(a,e,c),e=",";c.push("]");return}if(b instanceof String||b instanceof Number||b instanceof Boolean)b=b.valueOf();else{c.push("{");f="";for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&(e=b[d],"function"!=typeof e&&(c.push(f),ta(d,c),c.push(":"),ra(a,e,c),f=","));c.push("}");return}}switch(typeof b){case "string":ta(b,c);break;case "number":c.push(isFinite(b)&&
!isNaN(b)?String(b):"null");break;case "boolean":c.push(String(b));break;case "function":c.push("null");break;default:throw Error("Unknown type: "+typeof b);}}}var ua={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},va=/\uffff/.test("\uffff")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g;
function ta(a,b){b.push('"',a.replace(va,function(a){var b=ua[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),ua[a]=b);return b}),'"')};function wa(a,b){this.a=a;this.l=b.name;this.f=!!b.u;this.b=b.c;this.j=b.type;this.i=!1;switch(this.b){case xa:case ya:case za:case Aa:case Ba:case Ca:case Da:this.i=!0}this.g=b.defaultValue}var Da=1,Ca=2,xa=3,ya=4,za=6,Aa=16,Ba=18;function Ea(a,b){this.b=a;this.a={};for(var c=0;c<b.length;c++){var d=b[c];this.a[d.a]=d}}function Fa(a){a=na(a.a);la(a,function(a,c){return a.a-c.a});return a}function Ga(a,b){return oa(a.a,function(a){return a.l==b})||null};function r(){this.b={};this.f=this.h().a;this.a=this.g=null}function Ha(a,b){for(var c in a.b){var d=Number(c);a.f[d]||b.call(a,d,a.b[c])}}r.prototype.has=function(a){return t(this,a.a)};r.prototype.get=function(a,b){return u(this,a.a,b)};r.prototype.set=function(a,b){v(this,a.a,b)};
function Ia(a,b){for(var c=Fa(a.h()),d=0;d<c.length;d++){var e=c[d],f=e.a;if(t(b,f)){a.a&&delete a.a[e.a];var g=11==e.b||10==e.b;if(e.f)for(var e=w(b,f),h=0;h<e.length;h++)Ja(a,f,g?e[h].clone():e[h]);else e=Ka(b,f),g?(g=Ka(a,f))?Ia(g,e):v(a,f,e.clone()):v(a,f,e)}}}r.prototype.clone=function(){var a=new this.constructor;a!=this&&(a.b={},a.a&&(a.a={}),Ia(a,this));return a};function t(a,b){return null!=a.b[b]}
function Ka(a,b){var c=a.b[b];if(null==c)return null;if(a.g){if(!(b in a.a)){var d=a.g,e=a.f[b];if(null!=c)if(e.f){for(var f=[],g=0;g<c.length;g++)f[g]=d.a(e,c[g]);c=f}else c=d.a(e,c);return a.a[b]=c}return a.a[b]}return c}function u(a,b,c){var d=Ka(a,b);return a.f[b].f?d[c||0]:d}function x(a,b){var c;if(t(a,b))c=u(a,b,void 0);else a:{c=a.f[b];if(void 0===c.g){var d=c.j;if(d===Boolean)c.g=!1;else if(d===Number)c.g=0;else if(d===String)c.g=c.i?"0":"";else{c=new d;break a}}c=c.g}return c}
function w(a,b){return Ka(a,b)||[]}function y(a,b){return a.f[b].f?t(a,b)?a.b[b].length:0:t(a,b)?1:0}function v(a,b,c){a.b[b]=c;a.a&&(a.a[b]=c)}function Ja(a,b,c){a.b[b]||(a.b[b]=[]);a.b[b].push(c);a.a&&delete a.a[b]}function La(a,b){delete a.b[b];a.a&&delete a.a[b]}function Ma(a,b){var c=[],d;for(d in b)0!=d&&c.push(new wa(d,b[d]));return new Ea(a,c)};function z(){}z.prototype.b=function(a,b){return 11==a.b||10==a.b?this.g(b):"number"!=typeof b||isFinite(b)?b:b.toString()};z.prototype.f=function(a,b){var c=new a.b;this.i(c,b);return c};
z.prototype.a=function(a,b){if(11==a.b||10==a.b)return b instanceof r?b:this.f(a.j.prototype.h(),b);if(14==a.b){if(n(b)&&Na.test(b)){var c=Number(b);if(0<c)return c}return b}if(!a.i)return b;c=a.j;if(c===String){if("number"==typeof b)return String(b)}else if(c===Number&&n(b)&&("Infinity"===b||"-Infinity"===b||"NaN"===b||Na.test(b)))return Number(b);return b};var Na=/^-?[0-9]+$/;function A(a,b){this.j=a;this.l=b}p(A,z);A.prototype.g=function(a){for(var b=Fa(a.h()),c={},d=0;d<b.length;d++){var e=b[d],f=1==this.j?e.l:e.a;if(a.has(e))if(e.f){var g=[];c[f]=g;for(f=0;f<y(a,e.a);f++)g.push(this.b(e,a.get(e,f)))}else c[f]=this.b(e,a.get(e))}Ha(a,function(a,b){c[a]=b});return c};A.prototype.b=function(a,b){return this.l&&8==a.b&&"boolean"==typeof b?b?1:0:A.ca.b.call(this,a,b)};A.prototype.a=function(a,b){return 8==a.b&&"number"==typeof b?!!b:A.ca.a.call(this,a,b)};
A.prototype.i=function(a,b){var c=a.h(),d;for(d in b){var e,f=b[d],g=!/[^0-9]/.test(d);if(e=g?c.a[parseInt(d,10)]||null:Ga(c,d))if(e.f)for(g=0;g<f.length;g++){var h=this.a(e,f[g]);Ja(a,e.a,h)}else a.set(e,this.a(e,f));else g?(e=a,g=Number(d),e.b[g]=f,e.a&&delete e.a[g]):ja("Failed to find field: "+d)}};function B(a,b){null!=a&&this.a.apply(this,arguments)}B.prototype.b="";B.prototype.set=function(a){this.b=""+a};B.prototype.a=function(a,b,c){this.b+=String(a);if(null!=b)for(var d=1;d<arguments.length;d++)this.b+=arguments[d];return this};function C(a){a.b=""}B.prototype.toString=function(){return this.b};/*
(function(){var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;
function ca(a,b){if(b){for(var c=ba,d=a.split("."),e=0;e<d.length-1;e++){var f=d[e];f in c||(c[f]={});c=c[f]}d=d[d.length-1];e=c[d];f=b(e);f!=e&&null!=f&&aa(c,d,{configurable:!0,writable:!0,value:f})}}
ca("String.prototype.repeat",function(a){return a?a:function(a){var b;if(null==this)throw new TypeError("The 'this' value for String.prototype.repeat must not be null or undefined");b=this+"";if(0>a||1342177279<a)throw new RangeError("Invalid count value");a|=0;for(var d="";a;)if(a&1&&(d+=b),a>>>=1)b+=b;return d}});ca("Math.sign",function(a){return a?a:function(a){a=Number(a);return!a||isNaN(a)?a:0<a?1:-1}});
function da(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function k(a){return"string"==typeof a}function l(a,b){function c(){}c.prototype=b.prototype;a.ha=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.ma=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};function n(a){if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))}l(n,Error);n.prototype.name="CustomError";function ea(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")};function fa(a,b){b.unshift(a);n.call(this,ea.apply(null,b));b.shift()}l(fa,n);fa.prototype.name="AssertionError";function ga(a,b){throw new fa("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));};var p=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(k(a))return k(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};function ha(a,b){a.sort(b||ia)}function ia(a,b){return a>b?1:a<b?-1:0};function ja(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b}function ka(a,b){var c;a:{for(c in a)if(b.call(void 0,a[c],c,a))break a;c=void 0}return c&&a[c]};function q(a){var b=document;return k(a)?b.getElementById(a):a};function la(a){var b=[];ma(new na,a,b);return b.join("")}function na(){}
function ma(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if("array"==da(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;f<b;f++)c.push(e),ma(a,d[f],c),e=",";c.push("]");return}if(b instanceof String||b instanceof Number||b instanceof Boolean)b=b.valueOf();else{c.push("{");e="";for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&(f=b[d],"function"!=typeof f&&(c.push(e),oa(d,c),c.push(":"),ma(a,f,c),e=","));c.push("}");return}}switch(typeof b){case "string":oa(b,c);break;case "number":c.push(isFinite(b)&&
!isNaN(b)?String(b):"null");break;case "boolean":c.push(String(b));break;case "function":c.push("null");break;default:throw Error("Unknown type: "+typeof b);}}}var pa={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},qa=/\uffff/.test("\uffff")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g;
function oa(a,b){b.push('"',a.replace(qa,function(a){var b=pa[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),pa[a]=b);return b}),'"')};function ra(a,b){this.a=a;this.l=b.name;this.f=!!b.u;this.b=b.c;this.j=b.type;this.i=!1;switch(this.b){case sa:case ta:case ua:case va:case wa:case xa:case ya:this.i=!0}this.g=b.defaultValue}var ya=1,xa=2,sa=3,ta=4,ua=6,va=16,wa=18;function za(a,b){this.b=a;this.a={};for(var c=0;c<b.length;c++){var d=b[c];this.a[d.a]=d}}function Aa(a){a=ja(a.a);ha(a,function(a,c){return a.a-c.a});return a}function Ba(a,b){return ka(a.a,function(a){return a.l==b})||null};function r(){this.b={};this.f=this.h().a;this.a=this.g=null}function Ca(a,b){for(var c in a.b){var d=Number(c);a.f[d]||b.call(a,d,a.b[c])}}r.prototype.has=function(a){return t(this,a.a)};r.prototype.get=function(a,b){return u(this,a.a,b)};r.prototype.set=function(a,b){v(this,a.a,b)};
function Da(a,b){for(var c=Aa(a.h()),d=0;d<c.length;d++){var e=c[d],f=e.a;if(t(b,f)){a.a&&delete a.a[e.a];var g=11==e.b||10==e.b;if(e.f)for(var e=w(b,f),h=0;h<e.length;h++)Ea(a,f,g?e[h].clone():e[h]);else e=Fa(b,f),g?(g=Fa(a,f))?Da(g,e):v(a,f,e.clone()):v(a,f,e)}}}r.prototype.clone=function(){var a=new this.constructor;a!=this&&(a.b={},a.a&&(a.a={}),Da(a,this));return a};function t(a,b){return null!=a.b[b]}
function Fa(a,b){var c=a.b[b];if(null==c)return null;if(a.g){if(!(b in a.a)){var d=a.g,e=a.f[b];if(null!=c)if(e.f){for(var f=[],g=0;g<c.length;g++)f[g]=d.a(e,c[g]);c=f}else c=d.a(e,c);return a.a[b]=c}return a.a[b]}return c}function u(a,b,c){var d=Fa(a,b);return a.f[b].f?d[c||0]:d}function x(a,b){var c;if(t(a,b))c=u(a,b,void 0);else a:{c=a.f[b];if(void 0===c.g){var d=c.j;if(d===Boolean)c.g=!1;else if(d===Number)c.g=0;else if(d===String)c.g=c.i?"0":"";else{c=new d;break a}}c=c.g}return c}
function w(a,b){return Fa(a,b)||[]}function y(a,b){return a.f[b].f?t(a,b)?a.b[b].length:0:t(a,b)?1:0}function v(a,b,c){a.b[b]=c;a.a&&(a.a[b]=c)}function Ea(a,b,c){a.b[b]||(a.b[b]=[]);a.b[b].push(c);a.a&&delete a.a[b]}function Ga(a,b){delete a.b[b];a.a&&delete a.a[b]}function Ha(a,b){var c=[],d;for(d in b)0!=d&&c.push(new ra(d,b[d]));return new za(a,c)};function z(){}z.prototype.b=function(a,b){return 11==a.b||10==a.b?this.g(b):"number"!=typeof b||isFinite(b)?b:b.toString()};z.prototype.f=function(a,b){var c=new a.b;this.i(c,b);return c};
z.prototype.a=function(a,b){if(11==a.b||10==a.b)return b instanceof r?b:this.f(a.j.prototype.h(),b);if(14==a.b){if(k(b)&&Ia.test(b)){var c=Number(b);if(0<c)return c}return b}if(!a.i)return b;c=a.j;if(c===String){if("number"==typeof b)return String(b)}else if(c===Number&&k(b)&&("Infinity"===b||"-Infinity"===b||"NaN"===b||Ia.test(b)))return Number(b);return b};var Ia=/^-?[0-9]+$/;function A(a,b){this.j=a;this.l=b}l(A,z);A.prototype.g=function(a){for(var b=Aa(a.h()),c={},d=0;d<b.length;d++){var e=b[d],f=1==this.j?e.l:e.a;if(a.has(e))if(e.f){var g=[];c[f]=g;for(f=0;f<y(a,e.a);f++)g.push(this.b(e,a.get(e,f)))}else c[f]=this.b(e,a.get(e))}Ca(a,function(a,b){c[a]=b});return c};A.prototype.b=function(a,b){return this.l&&8==a.b&&"boolean"==typeof b?b?1:0:A.ha.b.call(this,a,b)};A.prototype.a=function(a,b){return 8==a.b&&"number"==typeof b?!!b:A.ha.a.call(this,a,b)};
A.prototype.i=function(a,b){var c=a.h(),d;for(d in b){var e,f=b[d],g=!/[^0-9]/.test(d);if(e=g?c.a[parseInt(d,10)]||null:Ba(c,d))if(e.f)for(g=0;g<f.length;g++){var h=this.a(e,f[g]);Ea(a,e.a,h)}else a.set(e,this.a(e,f));else g?(e=a,g=Number(d),e.b[g]=f,e.a&&delete e.a[g]):ga("Failed to find field: "+e)}};function B(a,b){null!=a&&this.a.apply(this,arguments)}B.prototype.b="";B.prototype.set=function(a){this.b=""+a};B.prototype.a=function(a,b,c){this.b+=String(a);if(null!=b)for(var d=1;d<arguments.length;d++)this.b+=arguments[d];return this};function C(a){a.b=""}B.prototype.toString=function(){return this.b};/*
Protocol Buffer 2 Copyright 2008 Google Inc.
All other code copyright its respective owners.
@ -27,14 +28,14 @@ A.prototype.i=function(a,b){var c=a.h(),d;for(d in b){var e,f=b[d],g=!/[^0-9]/.t
See the License for the specific language governing permissions and
limitations under the License.
*/
function D(){r.call(this)}p(D,r);var Oa=null;function F(){r.call(this)}p(F,r);var Pa=null;function G(){r.call(this)}p(G,r);var Qa=null;
D.prototype.h=function(){var a=Oa;a||(Oa=a=Ma(D,{0:{name:"NumberFormat",ba:"i18n.phonenumbers.NumberFormat"},1:{name:"pattern",required:!0,c:9,type:String},2:{name:"format",required:!0,c:9,type:String},3:{name:"leading_digits_pattern",u:!0,c:9,type:String},4:{name:"national_prefix_formatting_rule",c:9,type:String},6:{name:"national_prefix_optional_when_formatting",c:8,type:Boolean},5:{name:"domestic_carrier_code_formatting_rule",c:9,type:String}}));return a};D.h=D.prototype.h;
F.prototype.h=function(){var a=Pa;a||(Pa=a=Ma(F,{0:{name:"PhoneNumberDesc",ba:"i18n.phonenumbers.PhoneNumberDesc"},2:{name:"national_number_pattern",c:9,type:String},3:{name:"possible_number_pattern",c:9,type:String},9:{name:"possible_length",u:!0,c:5,type:Number},10:{name:"possible_length_local_only",u:!0,c:5,type:Number},6:{name:"example_number",c:9,type:String},7:{name:"national_number_matcher_data",c:12,type:String},8:{name:"possible_number_matcher_data",c:12,type:String}}));return a};F.h=F.prototype.h;
G.prototype.h=function(){var a=Qa;a||(Qa=a=Ma(G,{0:{name:"PhoneMetadata",ba:"i18n.phonenumbers.PhoneMetadata"},1:{name:"general_desc",c:11,type:F},2:{name:"fixed_line",c:11,type:F},3:{name:"mobile",c:11,type:F},4:{name:"toll_free",c:11,type:F},5:{name:"premium_rate",c:11,type:F},6:{name:"shared_cost",c:11,type:F},7:{name:"personal_number",c:11,type:F},8:{name:"voip",c:11,type:F},21:{name:"pager",c:11,type:F},25:{name:"uan",c:11,type:F},27:{name:"emergency",c:11,type:F},28:{name:"voicemail",c:11,type:F},
function D(){r.call(this)}l(D,r);var Ja=null;function F(){r.call(this)}l(F,r);var Ka=null;function G(){r.call(this)}l(G,r);var La=null;
D.prototype.h=function(){var a=Ja;a||(Ja=a=Ha(D,{0:{name:"NumberFormat",ba:"i18n.phonenumbers.NumberFormat"},1:{name:"pattern",required:!0,c:9,type:String},2:{name:"format",required:!0,c:9,type:String},3:{name:"leading_digits_pattern",u:!0,c:9,type:String},4:{name:"national_prefix_formatting_rule",c:9,type:String},6:{name:"national_prefix_optional_when_formatting",c:8,type:Boolean},5:{name:"domestic_carrier_code_formatting_rule",c:9,type:String}}));return a};D.h=D.prototype.h;
F.prototype.h=function(){var a=Ka;a||(Ka=a=Ha(F,{0:{name:"PhoneNumberDesc",ba:"i18n.phonenumbers.PhoneNumberDesc"},2:{name:"national_number_pattern",c:9,type:String},3:{name:"possible_number_pattern",c:9,type:String},9:{name:"possible_length",u:!0,c:5,type:Number},10:{name:"possible_length_local_only",u:!0,c:5,type:Number},6:{name:"example_number",c:9,type:String},7:{name:"national_number_matcher_data",c:12,type:String},8:{name:"possible_number_matcher_data",c:12,type:String}}));return a};F.h=F.prototype.h;
G.prototype.h=function(){var a=La;a||(La=a=Ha(G,{0:{name:"PhoneMetadata",ba:"i18n.phonenumbers.PhoneMetadata"},1:{name:"general_desc",c:11,type:F},2:{name:"fixed_line",c:11,type:F},3:{name:"mobile",c:11,type:F},4:{name:"toll_free",c:11,type:F},5:{name:"premium_rate",c:11,type:F},6:{name:"shared_cost",c:11,type:F},7:{name:"personal_number",c:11,type:F},8:{name:"voip",c:11,type:F},21:{name:"pager",c:11,type:F},25:{name:"uan",c:11,type:F},27:{name:"emergency",c:11,type:F},28:{name:"voicemail",c:11,type:F},
24:{name:"no_international_dialling",c:11,type:F},9:{name:"id",required:!0,c:9,type:String},10:{name:"country_code",c:5,type:Number},11:{name:"international_prefix",c:9,type:String},17:{name:"preferred_international_prefix",c:9,type:String},12:{name:"national_prefix",c:9,type:String},13:{name:"preferred_extn_prefix",c:9,type:String},15:{name:"national_prefix_for_parsing",c:9,type:String},16:{name:"national_prefix_transform_rule",c:9,type:String},18:{name:"same_mobile_and_fixed_line_pattern",c:8,defaultValue:!1,
type:Boolean},19:{name:"number_format",u:!0,c:11,type:D},20:{name:"intl_number_format",u:!0,c:11,type:D},22:{name:"main_country_for_code",c:8,defaultValue:!1,type:Boolean},23:{name:"leading_digits",c:9,type:String},26:{name:"leading_zero_possible",c:8,defaultValue:!1,type:Boolean}}));return a};G.h=G.prototype.h;function H(){r.call(this)}var Ra;p(H,r);var Sa={la:1,ka:5,ja:10,ia:20};
H.prototype.h=function(){Ra||(Ra=Ma(H,{0:{name:"PhoneNumber",ba:"i18n.phonenumbers.PhoneNumber"},1:{name:"country_code",required:!0,c:5,type:Number},2:{name:"national_number",required:!0,c:4,type:Number},3:{name:"extension",c:9,type:String},4:{name:"italian_leading_zero",c:8,type:Boolean},8:{name:"number_of_leading_zeros",c:5,defaultValue:1,type:Number},5:{name:"raw_input",c:9,type:String},6:{name:"country_code_source",c:14,defaultValue:1,type:Sa},7:{name:"preferred_domestic_carrier_code",c:9,type:String}}));
return Ra};H.ctor=H;H.ctor.h=H.prototype.h;function Ta(){}p(Ta,z);Ta.prototype.f=function(a,b){var c=new a.b;c.g=this;c.b=b;c.a={};return c};Ta.prototype.i=function(){throw Error("Unimplemented");};function I(){}p(I,Ta);I.prototype.g=function(a){for(var b=Fa(a.h()),c=[],d=0;d<b.length;d++){var e=b[d];if(a.has(e)){var f=e.a;if(e.f){c[f]=[];for(var g=0;g<y(a,e.a);g++)c[f][g]=this.b(e,a.get(e,g))}else c[f]=this.b(e,a.get(e))}}Ha(a,function(a,b){c[a]=b});return c};I.prototype.b=function(a,b){return 8==a.b?b?1:0:z.prototype.b.apply(this,arguments)};I.prototype.a=function(a,b){return 8==a.b?!!b:z.prototype.a.apply(this,arguments)};I.prototype.f=function(a,b){return I.ca.f.call(this,a,b)};/*
type:Boolean},19:{name:"number_format",u:!0,c:11,type:D},20:{name:"intl_number_format",u:!0,c:11,type:D},22:{name:"main_country_for_code",c:8,defaultValue:!1,type:Boolean},23:{name:"leading_digits",c:9,type:String},26:{name:"leading_zero_possible",c:8,defaultValue:!1,type:Boolean}}));return a};G.h=G.prototype.h;function Ma(){}l(Ma,z);Ma.prototype.f=function(a,b){var c=new a.b;c.g=this;c.b=b;c.a={};return c};Ma.prototype.i=function(){throw Error("Unimplemented");};function H(){}l(H,Ma);H.prototype.g=function(a){for(var b=Aa(a.h()),c=[],d=0;d<b.length;d++){var e=b[d];if(a.has(e)){var f=e.a;if(e.f){c[f]=[];for(var g=0;g<y(a,e.a);g++)c[f][g]=this.b(e,a.get(e,g))}else c[f]=this.b(e,a.get(e))}}Ca(a,function(a,b){c[a]=b});return c};H.prototype.b=function(a,b){return 8==a.b?b?1:0:z.prototype.b.apply(this,arguments)};H.prototype.a=function(a,b){return 8==a.b?!!b:z.prototype.a.apply(this,arguments)};function I(){r.call(this)}var Na;l(I,r);var Oa={la:1,ka:5,ja:10,ia:20};
I.prototype.h=function(){Na||(Na=Ha(I,{0:{name:"PhoneNumber",ba:"i18n.phonenumbers.PhoneNumber"},1:{name:"country_code",required:!0,c:5,type:Number},2:{name:"national_number",required:!0,c:4,type:Number},3:{name:"extension",c:9,type:String},4:{name:"italian_leading_zero",c:8,type:Boolean},8:{name:"number_of_leading_zeros",c:5,defaultValue:1,type:Number},5:{name:"raw_input",c:9,type:String},6:{name:"country_code_source",c:14,defaultValue:1,type:Oa},7:{name:"preferred_domestic_carrier_code",c:9,type:String}}));
return Na};I.ctor=I;I.ctor.h=I.prototype.h;/*
Copyright (C) 2010 The Libphonenumber Authors
@ -54,7 +55,7 @@ var J={1:"US AG AI AS BB BM BS CA DM DO GD GU JM KN KY LC MP MS PR SX TC TT VC V
86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],
253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],385:["HR"],386:["SI"],
387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],
692:["MH"],800:["001"],808:["001"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],870:["001"],878:["001"],880:["BD"],881:["001"],882:["001"],883:["001"],886:["TW"],888:["001"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],979:["001"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},Ua={AC:[,[,,"[46]\\d{4}|[01589]\\d{5}",,,,,,,[5,6]],
692:["MH"],800:["001"],808:["001"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],870:["001"],878:["001"],880:["BD"],881:["001"],882:["001"],883:["001"],886:["TW"],888:["001"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],979:["001"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},Pa={AC:[,[,,"[46]\\d{4}|[01589]\\d{5}",,,,,,,[5,6]],
[,,"6[2-467]\\d{3}",,,,"62889",,,[5]],[,,"4\\d{4}",,,,"40123",,,[5]],[,,"NA",,,,,,,[-1]],[,,"NA",,,,,,,[-1]],[,,"NA",,,,,,,[-1]],[,,"NA",,,,,,,[-1]],[,,"NA",,,,,,,[-1]],"AC",247,"00",,,,,,,,,,[,,"NA",,,,,,,[-1]],,,[,,"NA",,,,,,,[-1]],[,,"[01589]\\d{5}",,,,"542011",,,[6]],,,[,,"NA",,,,,,,[-1]]],AD:[,[,,"[16]\\d{5,8}|[37-9]\\d{5}",,,,,,,[6,8,9]],[,,"[78]\\d{5}",,,,"712345",,,[6]],[,,"(?:3\\d|6(?:[0-8]|90\\d{2}))\\d{4}",,,,"312345",,,[6,9]],[,,"180[02]\\d{4}",,,,"18001234",,,[8]],[,,"[19]\\d{5}",,,,
"912345",,,[6]],[,,"NA",,,,,,,[-1]],[,,"NA",,,,,,,[-1]],[,,"NA",,,,,,,[-1]],"AD",376,"00",,,,,,,,[[,"(\\d{3})(\\d{3})","$1 $2",["[137-9]|6[0-8]"]],[,"(\\d{4})(\\d{4})","$1 $2",["180","180[02]"]],[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["690"]]],,[,,"NA",,,,,,,[-1]],,,[,,"1800\\d{4}",,,,"18000000",,,[8]],[,,"NA",,,,,,,[-1]],,,[,,"NA",,,,,,,[-1]]],AE:[,[,,"[2-79]\\d{7,8}|800\\d{2,9}",,,,,,,[5,6,7,8,9,10,11,12]],[,,"[2-4679][2-8]\\d{6}",,,,"22345678",,,[8],[7]],[,,"5[024-68]\\d{7}",,,,"501234567",,,
[9]],[,,"400\\d{6}|800\\d{2,9}",,,,"800123456"],[,,"900[02]\\d{5}",,,,"900234567",,,[9]],[,,"700[05]\\d{5}",,,,"700012345",,,[9]],[,,"NA",,,,,,,[-1]],[,,"NA",,,,,,,[-1]],"AE",971,"00","0",,,"0",,,,[[,"([2-4679])(\\d{3})(\\d{4})","$1 $2 $3",["[2-4679][2-8]"],"0$1"],[,"(5\\d)(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],[,"([479]00)(\\d)(\\d{5})","$1 $2 $3",["[479]0"],"$1"],[,"([68]00)(\\d{2,9})","$1 $2",["60|8"],"$1"]],,[,,"NA",,,,,,,[-1]],,,[,,"NA",,,,,,,[-1]],[,,"600[25]\\d{5}",,,,"600212345",,,[9]],
@ -434,41 +435,41 @@ MD:[,[,,"[235-9]\\d{7}",,,,,,,[8]],[,,"(?:2[1-9]\\d|3[1-79]\\d|5(?:33|5[257]))\\
limitations under the License.
*/
function K(){this.a={}}K.a=function(){return K.b?K.b:K.b=new K};
var L={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","\uff10":"0","\uff11":"1","\uff12":"2","\uff13":"3","\uff14":"4","\uff15":"5","\uff16":"6","\uff17":"7","\uff18":"8","\uff19":"9","\u0660":"0","\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u06f0":"0","\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9"},Va={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",
7:"7",8:"8",9:"9","+":"+","*":"*","#":"#"},Wa={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","\uff10":"0","\uff11":"1","\uff12":"2","\uff13":"3","\uff14":"4","\uff15":"5","\uff16":"6","\uff17":"7","\uff18":"8","\uff19":"9","\u0660":"0","\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u06f0":"0","\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9",A:"2",
B:"2",C:"2",D:"3",E:"3",F:"3",G:"4",H:"4",I:"4",J:"5",K:"5",L:"5",M:"6",N:"6",O:"6",P:"7",Q:"7",R:"7",S:"7",T:"8",U:"8",V:"8",W:"9",X:"9",Y:"9",Z:"9"},Xa=/[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?/,Ya=RegExp("[+\uff0b]+"),M=RegExp("^[+\uff0b]+"),Za=RegExp("([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])"),$a=RegExp("[+\uff0b0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]"),ab=/[\\\/] *x/,bb=RegExp("[^0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9A-Za-z#]+$"),cb=/(?:.*?[A-Za-z]){3}.*/,db=RegExp("(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)$",
"i"),eb=RegExp("^[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{2}$|^[+\uff0b]*(?:[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*]*[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]){3,}[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]*(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)?$",
"i"),fb=/(\$\d)/,gb=/\$NP/,hb=/\$FG/,ib=/\$CC/,jb=/^\(?\$1\)?$/;function kb(a){var b=a.search($a);0<=b?(a=a.substring(b),a=a.replace(bb,""),b=a.search(ab),0<=b&&(a=a.substring(0,b))):a="";return a}function lb(a){return 2>a.length?!1:N(eb,a)}function mb(a){return N(cb,a)?O(a,Wa):O(a,L)}function nb(a){var b=mb(a.toString());C(a);a.a(b)}function ob(a){return!!a&&(1!=y(a,9)||-1!=w(a,9)[0])}
function O(a,b){for(var c=new B,d,e=a.length,f=0;f<e;++f)d=a.charAt(f),d=b[d.toUpperCase()],null!=d&&c.a(d);return c.toString()}function qb(a){return null!=a&&isNaN(a)&&a.toUpperCase()in Ua}function P(a,b,c){if(0==u(b,2)&&t(b,5)){var d=x(b,5);if(0<d.length)return d}var d=x(b,1),e=Q(b);if(0==c)return S(d,0,e,"");if(!(d in J))return e;a=T(a,d,U(d));b=rb(b,a,c);e=sb(e,a,c);return S(d,c,e,b)}
function tb(a,b,c){var d=x(b,1),e=Q(b);if(!(d in J))return e;a=T(a,d,U(d));b=rb(b,a,2);c=sb(e,a,2,c);return S(d,2,c,b)}function T(a,b,c){return"001"==c?V(a,""+b):V(a,c)}
function ub(a,b,c){if(!qb(c))return P(a,b,1);var d=x(b,1),e=Q(b);if(!(d in J))return e;if(1==d){if(null!=c&&0<=ka(J[1],c.toUpperCase()))return d+" "+P(a,b,2)}else if(d==vb(a,c))return P(a,b,2);var f=V(a,c),g=x(f,11);c="";N(Xa,g)?c=g:t(f,17)&&(c=x(f,17));a=T(a,d,U(d));e=sb(e,a,1);b=rb(b,a,1);return 0<c.length?c+" "+d+" "+e+b:S(d,1,e,b)}
function wb(a,b,c){var d;if(d=t(b,5)){if(d=t(b,4))d=x(b,1),d=T(a,d,U(d)),d=!(d&&x(d,26));if(!d){d=x(b,1);if(d=T(a,d,U(d))){var e=Q(b);d=!!xb(w(d,19),e)}else d=!1;d=!d}}if(d)return x(b,5);if(!t(b,6))return P(a,b,2);switch(u(b,6)){case 1:a=P(a,b,1);break;case 5:a=ub(a,b,c);break;case 10:a=P(a,b,1).substring(1);break;default:d=U(x(b,1));var f;(c=V(a,d))?(c=x(c,12),f=c.length?c=c.replace("~",""):null):f=null;c=P(a,b,2);if(null!=f&&f.length){var g;a:{e=x(b,5);e=O(e,L);if(!e.lastIndexOf(f,0))try{g=yb(a,
zb(a,e.substring(f.length),d,!1));break a}catch(h){}g=!1}if(g)a=c;else if(g=V(a,d),d=Q(b),g=xb(w(g,19),d))if(d=x(g,4),e=d.indexOf("$1"),0>=e)a=c;else if(d=d.substring(0,e),d=O(d,L),d.length)if(g=g.clone(),La(g,4),d=[g],g=x(b,1),c=Q(b),g in J){a=T(a,g,U(g));if(e=xb(d,c))d=e.clone(),e=x(e,4),0<e.length&&(f=x(a,12),0<f.length?(e=e.replace(gb,f).replace(hb,"$1"),v(d,4,e)):La(d,4)),c=Ab(c,d,2);a=rb(b,a,2);a=S(g,2,c,a)}else a=c;else a=c;else a=c}else a=c}b=x(b,5);null!=a&&0<b.length&&(g=O(a,Va),c=O(b,Va),
g!=c&&(a=b));return a}function Q(a){var b=""+u(a,2);return t(a,4)&&u(a,4)&&0<x(a,8)?Array(x(a,8)+1).join("0")+b:b}function S(a,b,c,d){switch(b){case 0:return"+"+a+c+d;case 1:return"+"+a+" "+c+d;case 3:return"tel:+"+a+"-"+c+d;default:return c+d}}function sb(a,b,c,d){b=w(b,20).length&&2!=c?w(b,20):w(b,19);return(b=xb(b,a))?Ab(a,b,c,d):a}function xb(a,b){for(var c,d=a.length,e=0;e<d;++e){c=a[e];var f=y(c,3);if(!f||!b.search(u(c,3,f-1)))if(f=new RegExp(u(c,1)),N(f,b))return c}return null}
function Ab(a,b,c,d){var e=x(b,2),f=new RegExp(u(b,1)),g=x(b,5);2==c&&null!=d&&0<d.length&&0<g.length?(b=g.replace(ib,d),e=e.replace(fb,b),a=a.replace(f,e)):(b=x(b,4),a=2==c&&null!=b&&0<b.length?a.replace(f,e.replace(fb,b)):a.replace(f,e));3==c&&(a=a.replace(RegExp("^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+"),""),a=a.replace(RegExp("[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+",
"g"),"-"));return a}function rb(a,b,c){return t(a,3)&&u(a,3).length?3==c?";ext="+u(a,3):t(b,13)?u(b,13)+x(a,3):" ext. "+x(a,3):""}function Bb(a,b){switch(b){case 4:return u(a,5);case 3:return u(a,4);case 1:return u(a,3);case 0:case 2:return u(a,2);case 5:return u(a,6);case 6:return u(a,8);case 7:return u(a,7);case 8:return u(a,21);case 9:return u(a,25);case 10:return u(a,28);default:return u(a,1)}}
function Cb(a,b){return W(a,u(b,1))?W(a,u(b,5))?4:W(a,u(b,4))?3:W(a,u(b,6))?5:W(a,u(b,8))?6:W(a,u(b,7))?7:W(a,u(b,21))?8:W(a,u(b,25))?9:W(a,u(b,28))?10:W(a,u(b,2))?u(b,18)||W(a,u(b,3))?2:0:!u(b,18)&&W(a,u(b,3))?1:-1:-1}function V(a,b){if(null==b)return null;b=b.toUpperCase();var c=a.a[b];if(!c){c=Ua[b];if(!c)return null;c=(new I).f(G.h(),c);a.a[b]=c}return c}function W(a,b){var c=a.length;return 0<y(b,9)&&-1==ka(w(b,9),c)?!1:N(x(b,2),a)}function yb(a,b){var c=Db(a,b);return Eb(a,b,c)}
function Eb(a,b,c){var d=x(b,1),e=T(a,d,c);if(!e||"001"!=c&&d!=vb(a,c))return!1;a=Q(b);return-1!=Cb(a,e)}function Db(a,b){if(!b)return null;var c=x(b,1);if(c=J[c])if(1==c.length)c=c[0];else a:{for(var d=Q(b),e,f=c.length,g=0;g<f;g++){e=c[g];var h=V(a,e);if(t(h,23)){if(!d.search(u(h,23))){c=e;break a}}else if(-1!=Cb(d,h)){c=e;break a}}c=null}else c=null;return c}function U(a){return(a=J[a])?a[0]:"ZZ"}function vb(a,b){var c=V(a,b);if(!c)throw Error("Invalid region code: "+b);return x(c,10)}
function Fb(a,b,c,d){var e=Bb(c,d),f=y(e,9)?w(e,9):w(u(c,1),9),e=w(e,10);if(2==d)if(ob(Bb(c,0)))a=Bb(c,1),ob(a)&&(f=f.concat(y(a,9)?w(a,9):w(u(c,1),9)),la(f),e.length?(e=e.concat(w(a,10)),la(e)):e=w(a,10));else return Fb(a,b,c,1);if(-1==f[0])return 5;b=b.length;if(-1<ka(e,b))return 0;c=f[0];return c==b?0:c>b?2:f[f.length-1]<b?3:-1<ka(f,b,1)?0:3}function Gb(a,b){var c=Q(b),d=x(b,1);if(!(d in J))return 1;d=T(a,d,U(d));return Fb(a,c,d,-1)}
function Hb(a,b){var c=a.toString();if(!c.length||"0"==c.charAt(0))return 0;for(var d,e=c.length,f=1;3>=f&&f<=e;++f)if(d=parseInt(c.substring(0,f),10),d in J)return b.a(c.substring(f)),d;return 0}
function Ib(a,b,c,d,e,f){if(!b.length)return 0;b=new B(b);var g;c&&(g=u(c,11));null==g&&(g="NonMatch");var h=b.toString();if(h.length)if(M.test(h))h=h.replace(M,""),C(b),b.a(mb(h)),g=1;else{h=new RegExp(g);nb(b);g=b.toString();if(g.search(h))g=!1;else{var h=g.match(h)[0].length,m=g.substring(h).match(Za);m&&null!=m[1]&&0<m[1].length&&"0"==O(m[1],L)?g=!1:(C(b),b.a(g.substring(h)),g=!0)}g=g?5:20}else g=20;e&&v(f,6,g);if(20!=g){if(2>=b.b.length)throw Error("Phone number too short after IDD");if(a=Hb(b,
d))return v(f,1,a),a;throw Error("Invalid country calling code");}if(c&&(g=x(c,10),h=""+g,m=b.toString(),!m.lastIndexOf(h,0)&&(h=new B(m.substring(h.length)),m=u(c,1),m=new RegExp(x(m,2)),Jb(h,c,null),h=h.toString(),!N(m,b.toString())&&N(m,h)||3==Fb(a,b.toString(),c,-1))))return d.a(h),e&&v(f,6,10),v(f,1,g),g;v(f,1,0);return 0}
function Jb(a,b,c){var d=a.toString(),e=d.length,f=u(b,15);if(e&&null!=f&&f.length){var g=new RegExp("^(?:"+f+")");if(e=g.exec(d)){var f=new RegExp(x(u(b,1),2)),h=N(f,d),m=e.length-1;b=u(b,16);if(null!=b&&b.length&&null!=e[m]&&e[m].length){if(d=d.replace(g,b),!h||N(f,d))c&&0<m&&c.a(e[1]),a.set(d)}else if(!h||N(f,d.substring(e[0].length)))c&&0<m&&null!=e[m]&&c.a(e[1]),a.set(d.substring(e[0].length))}}}
function zb(a,b,c,d){if(null==b)throw Error("The string supplied did not seem to be a phone number");if(250<b.length)throw Error("The string supplied is too long to be a phone number");var e=new B,f=b.indexOf(";phone-context=");if(0<f){var g=f+15;if("+"==b.charAt(g)){var h=b.indexOf(";",g);0<h?e.a(b.substring(g,h)):e.a(b.substring(g))}g=b.indexOf("tel:");e.a(b.substring(0<=g?g+4:0,f))}else e.a(kb(b));f=e.toString();g=f.indexOf(";isub=");0<g&&(C(e),e.a(f.substring(0,g)));if(!lb(e.toString()))throw Error("The string supplied did not seem to be a phone number");
f=e.toString();if(!(qb(c)||null!=f&&0<f.length&&M.test(f)))throw Error("Invalid country calling code");f=new H;d&&v(f,5,b);a:{b=e.toString();g=b.search(db);if(0<=g&&lb(b.substring(0,g)))for(var h=b.match(db),m=h.length,E=1;E<m;++E)if(null!=h[E]&&0<h[E].length){C(e);e.a(b.substring(0,g));b=h[E];break a}b=""}0<b.length&&v(f,3,b);b=V(a,c);g=new B;h=0;m=e.toString();try{h=Ib(a,m,b,g,d,f)}catch(R){if("Invalid country calling code"==R.message&&M.test(m)){if(m=m.replace(M,""),h=Ib(a,m,b,g,d,f),!h)throw R;
}else throw R;}h?(e=U(h),e!=c&&(b=T(a,h,e))):(nb(e),g.a(e.toString()),null!=c?(h=x(b,10),v(f,1,h)):d&&La(f,6));if(2>g.b.length)throw Error("The string supplied is too short to be a phone number");b&&(c=new B,e=new B(g.toString()),Jb(e,b,c),2!=Fb(a,e.toString(),b,-1)&&(g=e,d&&0<c.toString().length&&v(f,7,c.toString())));a=g.toString();d=a.length;if(2>d)throw Error("The string supplied is too short to be a phone number");if(17<d)throw Error("The string supplied is too long to be a phone number");if(1<
a.length&&"0"==a.charAt(0)){v(f,4,!0);for(d=1;d<a.length-1&&"0"==a.charAt(d);)d++;1!=d&&v(f,8,d)}v(f,2,parseInt(a,10));return f}function N(a,b){var c="string"==typeof a?b.match("^(?:"+a+")$"):b.match(a);return c&&c[0].length==b.length?!0:!1};function Kb(a){this.da=RegExp("\u2008");this.fa="";this.m=new B;this.w="";this.i=new B;this.v=new B;this.j=!0;this.$=this.o=this.ha=!1;this.ea=K.a();this.s=0;this.b=new B;this.aa=!1;this.l="";this.a=new B;this.f=[];this.ga=a;this.g=Lb(this,this.ga)}var Mb=new G;v(Mb,11,"NA");
var Nb=/\[([^\[\]])*\]/g,Ob=/\d(?=[^,}][^,}])/g,Pb=RegExp("^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*(\\$\\d[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*)+$"),Qb=/[- ]/;function Lb(a,b){var c=qb(b)?vb(a.ea,b):0;return(c=V(a.ea,U(c)))?c:Mb}
function Rb(a){for(var b=a.f.length,c=0;c<b;++c){var d=a.f[c],e=x(d,1);if(a.w==e)return!1;var f;f=a;var g=d,h=x(g,1);if(-1!=h.indexOf("|"))f=!1;else{h=h.replace(Nb,"\\d");h=h.replace(Ob,"\\d");C(f.m);var m;m=f;var g=x(g,2),E="999999999999999".match(h)[0];E.length<m.a.b.length?m="":(m=E.replace(new RegExp(h,"g"),g),m=m.replace(RegExp("9","g"),"\u2008"));0<m.length?(f.m.a(m),f=!0):f=!1}if(f)return a.w=e,a.aa=Qb.test(u(d,4)),a.s=0,!0}return a.j=!1}
function Sb(a,b){for(var c=[],d=b.length-3,e=a.f.length,f=0;f<e;++f){var g=a.f[f];y(g,3)?(g=u(g,3,Math.min(d,y(g,3)-1)),b.search(g)||c.push(a.f[f])):c.push(a.f[f])}a.f=c}function Tb(a,b){a.fa=Ub(a,b);return a.fa}
function Ub(a,b){a.i.a(b);var c=b;if(Za.test(c)||1==a.i.b.length&&Ya.test(c)){var c=b,d;"+"==c?(d=c,a.v.a(c)):(d=L[c],a.v.a(d),a.a.a(d));b=d}else a.j=!1,a.ha=!0;if(!a.j){if(!a.ha)if(Vb(a)){if(Wb(a))return Xb(a)}else if(0<a.l.length&&(c=a.a.toString(),C(a.a),a.a.a(a.l),a.a.a(c),c=a.b.toString(),d=c.lastIndexOf(a.l),C(a.b),a.b.a(c.substring(0,d))),a.l!=Yb(a))return a.b.a(" "),Xb(a);return a.i.toString()}switch(a.v.b.length){case 0:case 1:case 2:return a.i.toString();case 3:if(Vb(a))a.$=!0;else return a.l=
Yb(a),Zb(a);default:if(a.$)return Wb(a)&&(a.$=!1),a.b.toString()+a.a.toString();if(0<a.f.length){c=$b(a,b);d=ac(a);if(0<d.length)return d;Sb(a,a.a.toString());return Rb(a)?bc(a):a.j?cc(a,c):a.i.toString()}return Zb(a)}}function Xb(a){a.j=!0;a.$=!1;a.f=[];a.s=0;C(a.m);a.w="";return Zb(a)}function ac(a){for(var b=a.a.toString(),c=a.f.length,d=0;d<c;++d){var e=a.f[d],f=x(e,1);if((new RegExp("^(?:"+f+")$")).test(b))return a.aa=Qb.test(u(e,4)),b=b.replace(new RegExp(f,"g"),u(e,2)),cc(a,b)}return""}
function cc(a,b){var c=a.b.b.length;return a.aa&&0<c&&" "!=a.b.toString().charAt(c-1)?a.b+" "+b:a.b+b}function Zb(a){var b=a.a.toString();if(3<=b.length){for(var c=a.o&&0<y(a.g,20)?w(a.g,20):w(a.g,19),d=c.length,e=0;e<d;++e){var f=c[e],g;(g=!t(a.g,12)||a.o||u(f,6))||(g=x(f,4),g=!g.length||jb.test(g));g&&Pb.test(x(f,2))&&a.f.push(f)}Sb(a,b);b=ac(a);return 0<b.length?b:Rb(a)?bc(a):a.i.toString()}return cc(a,b)}
function bc(a){var b=a.a.toString(),c=b.length;if(0<c){for(var d="",e=0;e<c;e++)d=$b(a,b.charAt(e));return a.j?cc(a,d):a.i.toString()}return a.b.toString()}
function Yb(a){var b=a.a.toString(),c=0,d;1!=u(a.g,10)?d=!1:(d=a.a.toString(),d="1"==d.charAt(0)&&"0"!=d.charAt(1)&&"1"!=d.charAt(1));d?(c=1,a.b.a("1").a(" "),a.o=!0):t(a.g,15)&&(d=new RegExp("^(?:"+u(a.g,15)+")"),(d=b.match(d))&&null!=d[0]&&0<d[0].length&&(a.o=!0,c=d[0].length,a.b.a(b.substring(0,c))));C(a.a);a.a.a(b.substring(c));return b.substring(0,c)}
function Vb(a){var b=a.v.toString(),c=new RegExp("^(?:\\+|"+u(a.g,11)+")");return(c=b.match(c))&&null!=c[0]&&0<c[0].length?(a.o=!0,c=c[0].length,C(a.a),a.a.a(b.substring(c)),C(a.b),a.b.a(b.substring(0,c)),"+"!=b.charAt(0)&&a.b.a(" "),!0):!1}function Wb(a){if(!a.a.b.length)return!1;var b=new B,c=Hb(a.a,b);if(!c)return!1;C(a.a);a.a.a(b.toString());b=U(c);"001"==b?a.g=V(a.ea,""+c):b!=a.ga&&(a.g=Lb(a,b));a.b.a(""+c).a(" ");a.l="";return!0}
function $b(a,b){var c=a.m.toString();if(0<=c.substring(a.s).search(a.da)){var d=c.search(a.da),c=c.replace(a.da,b);C(a.m);a.m.a(c);a.s=d;return c.substring(0,a.s+1)}1==a.f.length&&(a.j=!1);a.w="";return a.i.toString()};function dc(){var a=pa("phoneNumber").value,b=pa("defaultCountry").value,c=pa("carrierCode").value,d=new B;try{var e=K.a(),f;if(!qb(b)&&0<a.length&&"+"!=a.charAt(0))throw Error("Invalid country calling code");f=zb(e,a,b,!0);d.a("****Parsing Result:****\n");d.a(qa((new A(1)).g(f)));d.a("\n\n****Validation Results:****");var g=0==Gb(e,f);d.a("\nResult from isPossibleNumber(): ");d.a(g);if(g){var h=yb(e,f);d.a("\nResult from isValidNumber(): ");d.a(h);h&&b&&"ZZ"!=b&&(d.a("\nResult from isValidNumberForRegion(): "),
d.a(Eb(e,f,b)));d.a("\nPhone Number region: ");d.a(Db(e,f));d.a("\nResult from getNumberType(): ");var m;var E=Db(e,f),R=T(e,x(f,1),E);if(R){var fc=Q(f);m=Cb(fc,R)}else m=-1;switch(m){case 0:d.a("FIXED_LINE");break;case 1:d.a("MOBILE");break;case 2:d.a("FIXED_LINE_OR_MOBILE");break;case 3:d.a("TOLL_FREE");break;case 4:d.a("PREMIUM_RATE");break;case 5:d.a("SHARED_COST");break;case 6:d.a("VOIP");break;case 7:d.a("PERSONAL_NUMBER");break;case 8:d.a("PAGER");break;case 9:d.a("UAN");break;case -1:d.a("UNKNOWN")}}else{d.a("\nResult from isPossibleNumberWithReason(): ");
switch(Gb(e,f)){case 1:d.a("INVALID_COUNTRY_CODE");break;case 2:d.a("TOO_SHORT");break;case 3:d.a("TOO_LONG")}d.a("\nNote: numbers that are not possible have type UNKNOWN, an unknown region, and are considered invalid.")}d.a("\n\n****Formatting Results:**** ");d.a("\nE164 format: ");d.a(h?P(e,f,0):"invalid");d.a("\nOriginal format: ");d.a(wb(e,f,b));d.a("\nNational format: ");d.a(P(e,f,2));d.a("\nInternational format: ");d.a(h?P(e,f,1):"invalid");d.a("\nOut-of-country format from US: ");d.a(h?ub(e,
f,"US"):"invalid");d.a("\nOut-of-country format from Switzerland: ");d.a(h?ub(e,f,"CH"):"invalid");0<c.length&&(d.a("\nNational format with carrier code: "),d.a(tb(e,f,c)));d.a("\n\n****AsYouTypeFormatter Results****");for(var gc=new Kb(b),hc=a.length,b=0;b<hc;++b){var pb=a.charAt(b);d.a("\nChar entered: ");d.a(pb);d.a(" Output: ");d.a(Tb(gc,pb))}}catch(ic){d.a("\n"+ic.toString())}pa("output").value=d.toString();return!1}var X=["phoneNumberParser"],Y=this;
X[0]in Y||!Y.execScript||Y.execScript("var "+X[0]);for(var Z;X.length&&(Z=X.shift());){var ec;if(ec=!X.length)ec=void 0!==dc;ec?Y[Z]=dc:Y[Z]?Y=Y[Z]:Y=Y[Z]={}};})();
var L={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","\uff10":"0","\uff11":"1","\uff12":"2","\uff13":"3","\uff14":"4","\uff15":"5","\uff16":"6","\uff17":"7","\uff18":"8","\uff19":"9","\u0660":"0","\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u06f0":"0","\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9"},Qa={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",
7:"7",8:"8",9:"9","+":"+","*":"*","#":"#"},Ra={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","\uff10":"0","\uff11":"1","\uff12":"2","\uff13":"3","\uff14":"4","\uff15":"5","\uff16":"6","\uff17":"7","\uff18":"8","\uff19":"9","\u0660":"0","\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u06f0":"0","\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9",A:"2",
B:"2",C:"2",D:"3",E:"3",F:"3",G:"4",H:"4",I:"4",J:"5",K:"5",L:"5",M:"6",N:"6",O:"6",P:"7",Q:"7",R:"7",S:"7",T:"8",U:"8",V:"8",W:"9",X:"9",Y:"9",Z:"9"},Sa=/[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?/,Ta=RegExp("[+\uff0b]+"),M=RegExp("^[+\uff0b]+"),Ua=RegExp("([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])"),Va=RegExp("[+\uff0b0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]"),Wa=/[\\\/] *x/,Xa=RegExp("[^0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9A-Za-z#]+$"),Ya=/(?:.*?[A-Za-z]){3}.*/,Za=RegExp("(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)$",
"i"),$a=RegExp("^[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{2}$|^[+\uff0b]*(?:[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*]*[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]){3,}[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]*(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)?$",
"i"),ab=/(\$\d)/,bb=/\$NP/,cb=/\$FG/,db=/\$CC/,eb=/^\(?\$1\)?$/;function fb(a){var b=a.search(Va);0<=b?(a=a.substring(b),a=a.replace(Xa,""),b=a.search(Wa),0<=b&&(a=a.substring(0,b))):a="";return a}function gb(a){return 2>a.length?!1:N($a,a)}function hb(a){return N(Ya,a)?O(a,Ra):O(a,L)}function ib(a){var b=hb(a.toString());C(a);a.a(b)}function kb(a){return!!a&&(1!=y(a,9)||-1!=w(a,9)[0])}
function O(a,b){for(var c=new B,d,e=a.length,f=0;f<e;++f)d=a.charAt(f),d=b[d.toUpperCase()],null!=d&&c.a(d);return c.toString()}function lb(a){return null!=a&&isNaN(a)&&a.toUpperCase()in Pa}function Q(a,b,c){if(0==u(b,2)&&t(b,5)){var d=x(b,5);if(0<d.length)return d}var d=x(b,1),e=R(b);if(0==c)return S(d,0,e,"");if(!(d in J))return e;a=T(a,d,U(d));b=mb(b,a,c);e=nb(e,a,c);return S(d,c,e,b)}
function ob(a,b,c){var d=x(b,1),e=R(b);if(!(d in J))return e;a=T(a,d,U(d));b=mb(b,a,2);c=nb(e,a,2,c);return S(d,2,c,b)}function T(a,b,c){return"001"==c?V(a,""+b):V(a,c)}
function pb(a,b,c){if(!lb(c))return Q(a,b,1);var d=x(b,1),e=R(b);if(!(d in J))return e;if(1==d){if(null!=c&&0<=p(J[1],c.toUpperCase()))return d+" "+Q(a,b,2)}else if(d==qb(a,c))return Q(a,b,2);var f=V(a,c),g=x(f,11);c="";N(Sa,g)?c=g:t(f,17)&&(c=x(f,17));a=T(a,d,U(d));e=nb(e,a,1);b=mb(b,a,1);return 0<c.length?c+" "+d+" "+e+b:S(d,1,e,b)}
function rb(a,b,c){var d;if(d=t(b,5)){if(d=t(b,4))d=x(b,1),d=T(a,d,U(d)),d=!(d&&x(d,26));if(!d){d=x(b,1);if(d=T(a,d,U(d))){var e=R(b);d=!!sb(w(d,19),e)}else d=!1;d=!d}}if(d)return x(b,5);if(!t(b,6))return Q(a,b,2);switch(u(b,6)){case 1:a=Q(a,b,1);break;case 5:a=pb(a,b,c);break;case 10:a=Q(a,b,1).substring(1);break;default:d=U(x(b,1));var f;(c=V(a,d))?(c=x(c,12),f=c.length?c=c.replace("~",""):null):f=null;c=Q(a,b,2);if(null!=f&&f.length){var g;a:{e=x(b,5);e=O(e,L);if(!e.lastIndexOf(f,0))try{g=tb(a,
ub(a,e.substring(f.length),d,!1));break a}catch(h){}g=!1}if(g)a=c;else if(g=V(a,d),d=R(b),g=sb(w(g,19),d))if(d=x(g,4),e=d.indexOf("$1"),0>=e)a=c;else if(d=d.substring(0,e),d=O(d,L),d.length)if(g=g.clone(),Ga(g,4),d=[g],g=x(b,1),c=R(b),g in J){a=T(a,g,U(g));if(e=sb(d,c))d=e.clone(),e=x(e,4),0<e.length&&(f=x(a,12),0<f.length?(e=e.replace(bb,f).replace(cb,"$1"),v(d,4,e)):Ga(d,4)),c=vb(c,d,2);a=mb(b,a,2);a=S(g,2,c,a)}else a=c;else a=c;else a=c}else a=c}b=x(b,5);null!=a&&0<b.length&&(g=O(a,Qa),c=O(b,Qa),
g!=c&&(a=b));return a}function R(a){var b=""+u(a,2);return t(a,4)&&u(a,4)&&0<x(a,8)?Array(x(a,8)+1).join("0")+b:b}function S(a,b,c,d){switch(b){case 0:return"+"+a+c+d;case 1:return"+"+a+" "+c+d;case 3:return"tel:+"+a+"-"+c+d;default:return c+d}}function nb(a,b,c,d){b=w(b,20).length&&2!=c?w(b,20):w(b,19);return(b=sb(b,a))?vb(a,b,c,d):a}function sb(a,b){for(var c,d=a.length,e=0;e<d;++e){c=a[e];var f=y(c,3);if(!f||!b.search(u(c,3,f-1)))if(f=new RegExp(u(c,1)),N(f,b))return c}return null}
function vb(a,b,c,d){var e=x(b,2),f=new RegExp(u(b,1)),g=x(b,5);2==c&&null!=d&&0<d.length&&0<g.length?(b=g.replace(db,d),e=e.replace(ab,b),a=a.replace(f,e)):(b=x(b,4),a=2==c&&null!=b&&0<b.length?a.replace(f,e.replace(ab,b)):a.replace(f,e));3==c&&(a=a.replace(RegExp("^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+"),""),a=a.replace(RegExp("[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+",
"g"),"-"));return a}function mb(a,b,c){return t(a,3)&&u(a,3).length?3==c?";ext="+u(a,3):t(b,13)?u(b,13)+x(a,3):" ext. "+x(a,3):""}function wb(a,b){switch(b){case 4:return u(a,5);case 3:return u(a,4);case 1:return u(a,3);case 0:case 2:return u(a,2);case 5:return u(a,6);case 6:return u(a,8);case 7:return u(a,7);case 8:return u(a,21);case 9:return u(a,25);case 10:return u(a,28);default:return u(a,1)}}
function xb(a,b){return W(a,u(b,1))?W(a,u(b,5))?4:W(a,u(b,4))?3:W(a,u(b,6))?5:W(a,u(b,8))?6:W(a,u(b,7))?7:W(a,u(b,21))?8:W(a,u(b,25))?9:W(a,u(b,28))?10:W(a,u(b,2))?u(b,18)||W(a,u(b,3))?2:0:!u(b,18)&&W(a,u(b,3))?1:-1:-1}function V(a,b){if(null==b)return null;b=b.toUpperCase();var c=a.a[b];if(!c){c=Pa[b];if(!c)return null;c=(new H).f(G.h(),c);a.a[b]=c}return c}function W(a,b){var c=a.length;return 0<y(b,9)&&-1==p(w(b,9),c)?!1:N(x(b,2),a)}function tb(a,b){var c=yb(a,b);return zb(a,b,c)}
function zb(a,b,c){var d=x(b,1),e=T(a,d,c);if(!e||"001"!=c&&d!=qb(a,c))return!1;a=R(b);return-1!=xb(a,e)}function yb(a,b){if(!b)return null;var c=x(b,1);if(c=J[c])if(1==c.length)c=c[0];else a:{for(var d=R(b),e,f=c.length,g=0;g<f;g++){e=c[g];var h=V(a,e);if(t(h,23)){if(!d.search(u(h,23))){c=e;break a}}else if(-1!=xb(d,h)){c=e;break a}}c=null}else c=null;return c}function U(a){return(a=J[a])?a[0]:"ZZ"}function qb(a,b){var c=V(a,b);if(!c)throw Error("Invalid region code: "+b);return x(c,10)}
function Ab(a,b,c,d){var e=wb(c,d),f=y(e,9)?w(e,9):w(u(c,1),9),e=w(e,10);if(2==d)if(kb(wb(c,0)))a=wb(c,1),kb(a)&&(f=f.concat(y(a,9)?w(a,9):w(u(c,1),9)),ha(f),e.length?(e=e.concat(w(a,10)),ha(e)):e=w(a,10));else return Ab(a,b,c,1);if(-1==f[0])return 5;b=b.length;if(-1<p(e,b))return 0;c=f[0];return c==b?0:c>b?2:f[f.length-1]<b?3:-1<p(f,b,1)?0:3}function Bb(a,b){var c=R(b),d=x(b,1);if(!(d in J))return 1;d=T(a,d,U(d));return Ab(a,c,d,-1)}
function Cb(a,b){var c=a.toString();if(!c.length||"0"==c.charAt(0))return 0;for(var d,e=c.length,f=1;3>=f&&f<=e;++f)if(d=parseInt(c.substring(0,f),10),d in J)return b.a(c.substring(f)),d;return 0}
function Db(a,b,c,d,e,f){if(!b.length)return 0;b=new B(b);var g;c&&(g=u(c,11));null==g&&(g="NonMatch");var h=b.toString();if(h.length)if(M.test(h))h=h.replace(M,""),C(b),b.a(hb(h)),g=1;else{h=new RegExp(g);ib(b);g=b.toString();if(g.search(h))g=!1;else{var h=g.match(h)[0].length,m=g.substring(h).match(Ua);m&&null!=m[1]&&0<m[1].length&&"0"==O(m[1],L)?g=!1:(C(b),b.a(g.substring(h)),g=!0)}g=g?5:20}else g=20;e&&v(f,6,g);if(20!=g){if(2>=b.b.length)throw Error("Phone number too short after IDD");if(a=Cb(b,
d))return v(f,1,a),a;throw Error("Invalid country calling code");}if(c&&(g=x(c,10),h=""+g,m=b.toString(),!m.lastIndexOf(h,0)&&(h=new B(m.substring(h.length)),m=u(c,1),m=new RegExp(x(m,2)),Eb(h,c,null),h=h.toString(),!N(m,b.toString())&&N(m,h)||3==Ab(a,b.toString(),c,-1))))return d.a(h),e&&v(f,6,10),v(f,1,g),g;v(f,1,0);return 0}
function Eb(a,b,c){var d=a.toString(),e=d.length,f=u(b,15);if(e&&null!=f&&f.length){var g=new RegExp("^(?:"+f+")");if(e=g.exec(d)){var f=new RegExp(x(u(b,1),2)),h=N(f,d),m=e.length-1;b=u(b,16);if(null!=b&&b.length&&null!=e[m]&&e[m].length){if(d=d.replace(g,b),!h||N(f,d))c&&0<m&&c.a(e[1]),a.set(d)}else if(!h||N(f,d.substring(e[0].length)))c&&0<m&&null!=e[m]&&c.a(e[1]),a.set(d.substring(e[0].length))}}}
function ub(a,b,c,d){if(null==b)throw Error("The string supplied did not seem to be a phone number");if(250<b.length)throw Error("The string supplied is too long to be a phone number");var e=new B,f=b.indexOf(";phone-context=");if(0<f){var g=f+15;if("+"==b.charAt(g)){var h=b.indexOf(";",g);0<h?e.a(b.substring(g,h)):e.a(b.substring(g))}g=b.indexOf("tel:");e.a(b.substring(0<=g?g+4:0,f))}else e.a(fb(b));f=e.toString();g=f.indexOf(";isub=");0<g&&(C(e),e.a(f.substring(0,g)));if(!gb(e.toString()))throw Error("The string supplied did not seem to be a phone number");
f=e.toString();if(!(lb(c)||null!=f&&0<f.length&&M.test(f)))throw Error("Invalid country calling code");f=new I;d&&v(f,5,b);a:{b=e.toString();g=b.search(Za);if(0<=g&&gb(b.substring(0,g)))for(var h=b.match(Za),m=h.length,E=1;E<m;++E)if(null!=h[E]&&0<h[E].length){C(e);e.a(b.substring(0,g));b=h[E];break a}b=""}0<b.length&&v(f,3,b);b=V(a,c);g=new B;h=0;m=e.toString();try{h=Db(a,m,b,g,d,f)}catch(P){if("Invalid country calling code"==P.message&&M.test(m)){if(m=m.replace(M,""),h=Db(a,m,b,g,d,f),!h)throw P;
}else throw P;}h?(e=U(h),e!=c&&(b=T(a,h,e))):(ib(e),g.a(e.toString()),null!=c?(h=x(b,10),v(f,1,h)):d&&Ga(f,6));if(2>g.b.length)throw Error("The string supplied is too short to be a phone number");b&&(c=new B,e=new B(g.toString()),Eb(e,b,c),2!=Ab(a,e.toString(),b,-1)&&(g=e,d&&0<c.toString().length&&v(f,7,c.toString())));a=g.toString();d=a.length;if(2>d)throw Error("The string supplied is too short to be a phone number");if(17<d)throw Error("The string supplied is too long to be a phone number");if(1<
a.length&&"0"==a.charAt(0)){v(f,4,!0);for(d=1;d<a.length-1&&"0"==a.charAt(d);)d++;1!=d&&v(f,8,d)}v(f,2,parseInt(a,10));return f}function N(a,b){var c="string"==typeof a?b.match("^(?:"+a+")$"):b.match(a);return c&&c[0].length==b.length?!0:!1};function Fb(a){this.ca=RegExp("\u2008");this.ea="";this.m=new B;this.w="";this.i=new B;this.v=new B;this.j=!0;this.$=this.o=this.ga=!1;this.da=K.a();this.s=0;this.b=new B;this.aa=!1;this.l="";this.a=new B;this.f=[];this.fa=a;this.g=Gb(this,this.fa)}var Hb=new G;v(Hb,11,"NA");
var Ib=/\[([^\[\]])*\]/g,Jb=/\d(?=[^,}][^,}])/g,Kb=RegExp("^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*(\\$\\d[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*)+$"),Lb=/[- ]/;function Gb(a,b){var c=lb(b)?qb(a.da,b):0;return(c=V(a.da,U(c)))?c:Hb}
function Mb(a){for(var b=a.f.length,c=0;c<b;++c){var d=a.f[c],e=x(d,1);if(a.w==e)return!1;var f;f=a;var g=d,h=x(g,1);if(-1!=h.indexOf("|"))f=!1;else{h=h.replace(Ib,"\\d");h=h.replace(Jb,"\\d");C(f.m);var m;m=f;var g=x(g,2),E="999999999999999".match(h)[0];E.length<m.a.b.length?m="":(m=E.replace(new RegExp(h,"g"),g),m=m.replace(RegExp("9","g"),"\u2008"));0<m.length?(f.m.a(m),f=!0):f=!1}if(f)return a.w=e,a.aa=Lb.test(u(d,4)),a.s=0,!0}return a.j=!1}
function Nb(a,b){for(var c=[],d=b.length-3,e=a.f.length,f=0;f<e;++f){var g=a.f[f];y(g,3)?(g=u(g,3,Math.min(d,y(g,3)-1)),b.search(g)||c.push(a.f[f])):c.push(a.f[f])}a.f=c}function Ob(a,b){a.ea=Pb(a,b);return a.ea}
function Pb(a,b){a.i.a(b);var c=b;if(Ua.test(c)||1==a.i.b.length&&Ta.test(c)){var c=b,d;"+"==c?(d=c,a.v.a(c)):(d=L[c],a.v.a(d),a.a.a(d));b=d}else a.j=!1,a.ga=!0;if(!a.j){if(!a.ga)if(Qb(a)){if(Rb(a))return Sb(a)}else if(0<a.l.length&&(c=a.a.toString(),C(a.a),a.a.a(a.l),a.a.a(c),c=a.b.toString(),d=c.lastIndexOf(a.l),C(a.b),a.b.a(c.substring(0,d))),a.l!=Tb(a))return a.b.a(" "),Sb(a);return a.i.toString()}switch(a.v.b.length){case 0:case 1:case 2:return a.i.toString();case 3:if(Qb(a))a.$=!0;else return a.l=
Tb(a),Ub(a);default:if(a.$)return Rb(a)&&(a.$=!1),a.b.toString()+a.a.toString();if(0<a.f.length){c=Vb(a,b);d=Wb(a);if(0<d.length)return d;Nb(a,a.a.toString());return Mb(a)?Xb(a):a.j?Yb(a,c):a.i.toString()}return Ub(a)}}function Sb(a){a.j=!0;a.$=!1;a.f=[];a.s=0;C(a.m);a.w="";return Ub(a)}function Wb(a){for(var b=a.a.toString(),c=a.f.length,d=0;d<c;++d){var e=a.f[d],f=x(e,1);if((new RegExp("^(?:"+f+")$")).test(b))return a.aa=Lb.test(u(e,4)),b=b.replace(new RegExp(f,"g"),u(e,2)),Yb(a,b)}return""}
function Yb(a,b){var c=a.b.b.length;return a.aa&&0<c&&" "!=a.b.toString().charAt(c-1)?a.b+" "+b:a.b+b}function Ub(a){var b=a.a.toString();if(3<=b.length){for(var c=a.o&&0<y(a.g,20)?w(a.g,20):w(a.g,19),d=c.length,e=0;e<d;++e){var f=c[e],g;(g=!t(a.g,12)||a.o||u(f,6))||(g=x(f,4),g=!g.length||eb.test(g));g&&Kb.test(x(f,2))&&a.f.push(f)}Nb(a,b);b=Wb(a);return 0<b.length?b:Mb(a)?Xb(a):a.i.toString()}return Yb(a,b)}
function Xb(a){var b=a.a.toString(),c=b.length;if(0<c){for(var d="",e=0;e<c;e++)d=Vb(a,b.charAt(e));return a.j?Yb(a,d):a.i.toString()}return a.b.toString()}
function Tb(a){var b=a.a.toString(),c=0,d;1!=u(a.g,10)?d=!1:(d=a.a.toString(),d="1"==d.charAt(0)&&"0"!=d.charAt(1)&&"1"!=d.charAt(1));d?(c=1,a.b.a("1").a(" "),a.o=!0):t(a.g,15)&&(d=new RegExp("^(?:"+u(a.g,15)+")"),(d=b.match(d))&&null!=d[0]&&0<d[0].length&&(a.o=!0,c=d[0].length,a.b.a(b.substring(0,c))));C(a.a);a.a.a(b.substring(c));return b.substring(0,c)}
function Qb(a){var b=a.v.toString(),c=new RegExp("^(?:\\+|"+u(a.g,11)+")");return(c=b.match(c))&&null!=c[0]&&0<c[0].length?(a.o=!0,c=c[0].length,C(a.a),a.a.a(b.substring(c)),C(a.b),a.b.a(b.substring(0,c)),"+"!=b.charAt(0)&&a.b.a(" "),!0):!1}function Rb(a){if(!a.a.b.length)return!1;var b=new B,c=Cb(a.a,b);if(!c)return!1;C(a.a);a.a.a(b.toString());b=U(c);"001"==b?a.g=V(a.da,""+c):b!=a.fa&&(a.g=Gb(a,b));a.b.a(""+c).a(" ");a.l="";return!0}
function Vb(a,b){var c=a.m.toString();if(0<=c.substring(a.s).search(a.ca)){var d=c.search(a.ca),c=c.replace(a.ca,b);C(a.m);a.m.a(c);a.s=d;return c.substring(0,a.s+1)}1==a.f.length&&(a.j=!1);a.w="";return a.i.toString()};function Zb(){var a=q("phoneNumber").value,b=q("defaultCountry").value,c=q("carrierCode").value,d=new B;try{var e=K.a(),f;if(!lb(b)&&0<a.length&&"+"!=a.charAt(0))throw Error("Invalid country calling code");f=ub(e,a,b,!0);d.a("****Parsing Result:****\n");d.a(la((new A(1)).g(f)));d.a("\n\n****Validation Results:****");var g=0==Bb(e,f);d.a("\nResult from isPossibleNumber(): ");d.a(g);if(g){var h=tb(e,f);d.a("\nResult from isValidNumber(): ");d.a(h);h&&b&&"ZZ"!=b&&(d.a("\nResult from isValidNumberForRegion(): "),
d.a(zb(e,f,b)));d.a("\nPhone Number region: ");d.a(yb(e,f));d.a("\nResult from getNumberType(): ");var m;var E=yb(e,f),P=T(e,x(f,1),E);if(P){var ac=R(f);m=xb(ac,P)}else m=-1;switch(m){case 0:d.a("FIXED_LINE");break;case 1:d.a("MOBILE");break;case 2:d.a("FIXED_LINE_OR_MOBILE");break;case 3:d.a("TOLL_FREE");break;case 4:d.a("PREMIUM_RATE");break;case 5:d.a("SHARED_COST");break;case 6:d.a("VOIP");break;case 7:d.a("PERSONAL_NUMBER");break;case 8:d.a("PAGER");break;case 9:d.a("UAN");break;case -1:d.a("UNKNOWN")}}else{d.a("\nResult from isPossibleNumberWithReason(): ");
switch(Bb(e,f)){case 1:d.a("INVALID_COUNTRY_CODE");break;case 2:d.a("TOO_SHORT");break;case 3:d.a("TOO_LONG")}d.a("\nNote: numbers that are not possible have type UNKNOWN, an unknown region, and are considered invalid.")}d.a("\n\n****Formatting Results:**** ");d.a("\nE164 format: ");d.a(h?Q(e,f,0):"invalid");d.a("\nOriginal format: ");d.a(rb(e,f,b));d.a("\nNational format: ");d.a(Q(e,f,2));d.a("\nInternational format: ");d.a(h?Q(e,f,1):"invalid");d.a("\nOut-of-country format from US: ");d.a(h?pb(e,
f,"US"):"invalid");d.a("\nOut-of-country format from Switzerland: ");d.a(h?pb(e,f,"CH"):"invalid");0<c.length&&(d.a("\nNational format with carrier code: "),d.a(ob(e,f,c)));d.a("\n\n****AsYouTypeFormatter Results****");for(var bc=new Fb(b),cc=a.length,b=0;b<cc;++b){var jb=a.charAt(b);d.a("\nChar entered: ");d.a(jb);d.a(" Output: ");d.a(Ob(bc,jb))}}catch(dc){d.a("\n"+dc.toString())}q("output").value=d.toString();return!1}var X=["phoneNumberParser"],Y=this;
X[0]in Y||!Y.execScript||Y.execScript("var "+X[0]);for(var Z;X.length&&(Z=X.shift());){var $b;if($b=!X.length)$b=void 0!==Zb;$b?Y[Z]=Zb:Y[Z]?Y=Y[Z]:Y=Y[Z]={}};})();

+ 1
- 0
javascript/i18n/phonenumbers/phonenumberutil.js View File

@ -36,6 +36,7 @@ goog.provide('i18n.phonenumbers.PhoneNumberUtil.MatchType');
goog.provide('i18n.phonenumbers.PhoneNumberUtil.ValidationResult');
goog.require('goog.array');
goog.require('goog.object');
goog.require('goog.proto2.PbLiteSerializer');
goog.require('goog.string');
goog.require('goog.string.StringBuffer');


+ 5
- 0
javascript/i18n/phonenumbers/phonenumberutil_test.js View File

@ -26,7 +26,12 @@
*/
goog.require('goog.array');
goog.require('goog.string.StringBuffer');
goog.require('goog.testing.jsunit');
goog.require('i18n.phonenumbers.NumberFormat');
goog.require('i18n.phonenumbers.PhoneMetadata');
goog.require('i18n.phonenumbers.PhoneNumberDesc');
goog.require('i18n.phonenumbers.PhoneNumber');
goog.require('i18n.phonenumbers.PhoneNumberUtil');
goog.require('i18n.phonenumbers.RegionCode');


Loading…
Cancel
Save