var goog=goog||{};goog.global=this;goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c=c[d]?c[d]:c[d]={}:c[d]=b};goog.define=function(a,b){var c=b;goog.exportPath_(a,c)};goog.DEBUG=!1;goog.LOCALE="en";goog.TRUSTED_SITE=!0;goog.provide=function(a){goog.exportPath_(a)};
goog.setTestOnly=function(a){if(!goog.DEBUG)throw a=a||"",Error("Importing test-only code into non-debug environment"+a?": "+a:".");};goog.forwardDeclare=function(){};goog.getObjectByName=function(a,b){for(var c=a.split("."),d=b||goog.global,e;e=c.shift();)if(goog.isDefAndNotNull(d[e]))d=d[e];else return null;return d};goog.globalize=function(a,b){var c=b||goog.global,d;for(d in a)c[d]=a[d]};
goog.addDependency=function(a,b,c){if(goog.DEPENDENCIES_ENABLED){var d;a=a.replace(/\\/g,"/");for(var e=goog.dependencies_,f=0;d=b[f];f++)e.nameToPath[d]=a,a in e.pathToNames||(e.pathToNames[a]={}),e.pathToNames[a][d]=!0;for(d=0;b=c[d];d++)a in e.requires||(e.requires[a]={}),e.requires[a][b]=!0}};goog.useStrictRequires=!1;goog.ENABLE_DEBUG_LOADER=!0;goog.require=function(){};goog.basePath="";goog.nullFunction=function(){};goog.identityFunction=function(a){return a};
goog.abstractMethod=function(){throw Error("unimplemented abstract method");};goog.addSingletonGetter=function(a){a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.DEPENDENCIES_ENABLED=!1;
goog.DEPENDENCIES_ENABLED&&(goog.included_={},goog.dependencies_={pathToNames:{},nameToPath:{},requires:{},visited:{},written:{}},goog.inHtmlDocument_=function(){var a=goog.global.document;return"undefined"!=typeof a&&"write"in a},goog.findBasePath_=function(){if(goog.global.CLOSURE_BASE_PATH)goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_())for(var a=goog.global.document,a=a.getElementsByTagName("script"),b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?"),d=-1==d?
c.length:d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}},goog.importScript_=function(a){var b=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_;!goog.dependencies_.written[a]&&b(a)&&(goog.dependencies_.written[a]=!0)},goog.writeScriptTag_=function(a){if(goog.inHtmlDocument_()){var b=goog.global.document;if("complete"==b.readyState){if(b=/\bdeps.js$/.test(a))return!1;throw Error('Cannot write "'+a+'" after document load');}b.write('<script type="text/javascript" src="'+
a+'">\x3c/script>');return!0}return!1},goog.writeScripts_=function(){function a(e){if(!(e in d.written)){if(!(e in d.visited)&&(d.visited[e]=!0,e in d.requires))for(var g in d.requires[e])if(!goog.isProvided_(g))if(g in d.nameToPath)a(d.nameToPath[g]);else throw Error("Undefined nameToPath for "+g);e in c||(c[e]=!0,b.push(e))}}var b=[],c={},d=goog.dependencies_,e;for(e in goog.included_)d.written[e]||a(e);for(e=0;e<b.length;e++)if(b[e])goog.importScript_(goog.basePath+b[e]);else throw Error("Undefined script input");
},goog.getPathFromDeps_=function(a){return a in goog.dependencies_.nameToPath?goog.dependencies_.nameToPath[a]:null},goog.findBasePath_(),goog.global.CLOSURE_NO_DEPS||goog.importScript_(goog.basePath+"deps.js"));
goog.typeOf=function(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};goog.isDef=function(a){return void 0!==a};goog.isNull=function(a){return null===a};goog.isDefAndNotNull=function(a){return null!=a};goog.isArray=function(a){return"array"==goog.typeOf(a)};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};goog.isString=function(a){return"string"==typeof a};
goog.isBoolean=function(a){return"boolean"==typeof a};goog.isNumber=function(a){return"number"==typeof a};goog.isFunction=function(a){return"function"==goog.typeOf(a)};goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};goog.removeUid=function(a){"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};
goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;goog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)};
goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date};
goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,"JavaScript");else if(goog.global.eval)if(null==goog.evalWorksForGlobals_&&(goog.global.eval("var _et_ = 1;"),"undefined"!=typeof goog.global._et_?(delete goog.global._et_,goog.evalWorksForGlobals_=!0):goog.evalWorksForGlobals_=!1),goog.evalWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.createElement("script");c.type="text/javascript";c.defer=!1;c.appendChild(b.createTextNode(a));b.body.appendChild(c);
b.body.removeChild(c)}else throw Error("goog.globalEval not available");};goog.evalWorksForGlobals_=null;goog.getCssName=function(a,b){var c=function(a){return goog.cssNameMapping_[a]||a},d=function(a){a=a.split("-");for(var b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")},d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(a){return a};return b?a+"-"+d(b):d(a)};goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};
goog.getMsg=function(a,b){var c=b||{},d;for(d in c){var e=(""+c[d]).replace(/\$/g,"$$$$");a=a.replace(RegExp("\\{\\$"+d+"\\}","gi"),e)}return a};goog.getMsgWithFallback=function(a){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a[b]=c};
goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){var g=Array.prototype.slice.call(arguments,2);return b.prototype[c].apply(a,g)}};
goog.base=function(a,b,c){var d=arguments.callee.caller;if(goog.DEBUG&&!d)throw Error("arguments.caller not defined.  goog.base() expects not to be running in strict mode. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(d.superClass_)return d.superClass_.constructor.apply(a,Array.prototype.slice.call(arguments,1));for(var e=Array.prototype.slice.call(arguments,2),f=!1,g=a.constructor;g;g=g.superClass_&&g.superClass_.constructor)if(g.prototype[b]===d)f=!0;else if(f)return g.prototype[b].apply(a,
e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);throw Error("goog.base called from a method of one name to a method of a different name");};goog.scope=function(a){a.call(goog.global)};goog.MODIFY_FUNCTION_PROTOTYPES=!0;
goog.MODIFY_FUNCTION_PROTOTYPES&&(Function.prototype.bind=Function.prototype.bind||function(a,b){if(1<arguments.length){var c=Array.prototype.slice.call(arguments,1);c.unshift(this,a);return goog.bind.apply(null,c)}return goog.bind(this,a)},Function.prototype.partial=function(a){var b=Array.prototype.slice.call(arguments);b.unshift(this,null);return goog.bind.apply(null,b)},Function.prototype.inherits=function(a){goog.inherits(this,a)},Function.prototype.mixin=function(a){goog.mixin(this.prototype,
a)});var cvox={VERBOSITY_VERBOSE:0,VERBOSITY_BRIEF:1,ChromeVox:function(){}};cvox.ChromeVox.host=null;cvox.ChromeVox.msgs=null;cvox.ChromeVox.isActive=!0;cvox.ChromeVox.version=null;cvox.ChromeVox.earcons=null;cvox.ChromeVox.navigationManager=null;cvox.ChromeVox.serializer=null;cvox.ChromeVox.isStickyOn=!1;cvox.ChromeVox.keyPrefixOn=!1;cvox.ChromeVox.verbosity=cvox.VERBOSITY_VERBOSE;cvox.ChromeVox.typingEcho=0;cvox.ChromeVox.keyEcho={};cvox.ChromeVox.position={};cvox.ChromeVox.isChromeOS=-1!=navigator.userAgent.indexOf("CrOS");
cvox.ChromeVox.isMac=-1!=navigator.platform.indexOf("Mac");cvox.ChromeVox.modKeyStr=cvox.ChromeVox.isChromeOS?"Shift+Search":cvox.ChromeVox.isMac?"Ctrl+Cmd":"Shift+Alt";cvox.ChromeVox.sequenceSwitchKeyCodes=[];cvox.ChromeVox.visitedUrls={};cvox.ChromeVox.markInUserCommand=function(){};cvox.ChromeVox.syncToNode=function(){};cvox.ChromeVox.speakNode=function(){};cvox.ChromeVox.executeUserCommand=function(){};cvox.ChromeVox.entireDocumentIsHidden=!1;
cvox.ChromeVox.storeOn=function(a){a.isStickyOn=cvox.ChromeVox.isStickyOn;cvox.ChromeVox.navigationManager.storeOn(a)};cvox.ChromeVox.readFrom=function(a){cvox.ChromeVox.isStickyOn=a.isStickyOn;cvox.ChromeVox.navigationManager.readFrom(a)};cvox.KeySequence=function(a,b,c,d){this.doubleTap=!!d;this.cvoxModifier=void 0==b?this.isCVoxModifierActive(a):b;this.stickyMode=!!a.stickyMode;this.prefixKey=!!a.keyPrefix;this.skipStripping=!!c;if(this.stickyMode&&this.prefixKey)throw"Prefix key and sticky mode cannot both be enabled: "+a;a=this.resolveChromeOSSpecialKeys_(a);this.keys={ctrlKey:[],searchKeyHeld:[],altKey:[],altGraphKey:[],shiftKey:[],metaKey:[],keyCode:[]};this.extractKey_(a)};
cvox.KeySequence.KEY_PRESS_CODE={39:222,44:188,45:189,46:190,47:191,59:186,91:219,92:220,93:221};cvox.KeySequence.doubleTapCache=[];cvox.KeySequence.prototype.addKeyEvent=function(a){if(1<this.keys.keyCode.length)return!1;this.extractKey_(a);return!0};cvox.KeySequence.prototype.equals=function(a){if(!this.checkKeyEquality_(a)||this.doubleTap!=a.doubleTap)return!1;if(this.cvoxModifier===a.cvoxModifier)return!0;a=this.cvoxModifier?a:this;return a.stickyMode||a.prefixKey};
cvox.KeySequence.prototype.extractKey_=function(a){for(var b in this.keys)if("keyCode"==b){var c;"keypress"==a.type&&97<=a[b]&&122>=a[b]?c=a[b]-32:"keypress"==a.type&&(c=cvox.KeySequence.KEY_PRESS_CODE[a[b]]);this.keys[b].push(c||a[b])}else this.isKeyModifierActive(a,b)?this.keys[b].push(!0):this.keys[b].push(!1);this.cvoxModifier&&this.rationalizeKeys_()};
cvox.KeySequence.prototype.rationalizeKeys_=function(){if(!this.skipStripping){var a=cvox.ChromeVox.modKeyStr.split(/\+/g),b=this.keys.keyCode.length-1;-1!=a.indexOf("Ctrl")&&(this.keys.ctrlKey[b]=!1);-1!=a.indexOf("Alt")&&(this.keys.altKey[b]=!1);-1!=a.indexOf("Shift")&&(this.keys.shiftKey[b]=!1);var c=this.getMetaKeyName_();if(-1!=a.indexOf(c))if("Search"==c)this.keys.searchKeyHeld[b]=!1;else if("Cmd"==c||"Win"==c)this.keys.metaKey[b]=!1}};
cvox.KeySequence.prototype.getMetaKeyName_=function(){return cvox.ChromeVox.isChromeOS?"Search":cvox.ChromeVox.isMac?"Cmd":"Win"};cvox.KeySequence.prototype.checkKeyEquality_=function(a){for(var b in this.keys)for(var c=this.keys[b].length;c--;)if(this.keys[b][c]!==a.keys[b][c])return!1;return!0};cvox.KeySequence.prototype.length=function(){return this.keys.keyCode.length};cvox.KeySequence.prototype.isModifierKey=function(a){return 16==a||17==a||18==a||91==a||93==a};
cvox.KeySequence.prototype.isCVoxModifierActive=function(a){var b=cvox.ChromeVox.modKeyStr.split(/\+/g);this.isKeyModifierActive(a,"ctrlKey")&&(b=b.filter(function(a){return"Ctrl"!=a}));this.isKeyModifierActive(a,"altKey")&&(b=b.filter(function(a){return"Alt"!=a}));this.isKeyModifierActive(a,"shiftKey")&&(b=b.filter(function(a){return"Shift"!=a}));if(this.isKeyModifierActive(a,"metaKey")||this.isKeyModifierActive(a,"searchKeyHeld"))var c=this.getMetaKeyName_(),b=b.filter(function(a){return a!=c});
return 0==b.length};cvox.KeySequence.prototype.isKeyModifierActive=function(a,b){switch(b){case "ctrlKey":return a.ctrlKey||17==a.keyCode;case "altKey":return a.altKey||18==a.keyCode;case "shiftKey":return a.shiftKey||16==a.keyCode;case "metaKey":return a.metaKey||!cvox.ChromeVox.isChromeOS&&91==a.keyCode;case "searchKeyHeld":return cvox.ChromeVox.isChromeOS&&91==a.keyCode||a.searchKeyHeld}return!1};
cvox.KeySequence.prototype.isAnyModifierActive=function(){for(var a in this.keys)for(var b=0;b<this.length();b++)if(this.keys[a][b]&&"keyCode"!=a)return!0;return!1};
cvox.KeySequence.deserialize=function(a){var b={};b.stickyMode=void 0==a.stickyMode?!1:a.stickyMode;b.prefixKey=void 0==a.prefixKey?!1:a.prefixKey;var c=1<a.keys.keyCode.length,d={},e;for(e in a.keys)b[e]=a.keys[e][0],c&&(d[e]=a.keys[e][1]);e=new cvox.KeySequence(b,a.cvoxModifier,!0,a.doubleTap);c&&(cvox.ChromeVox.sequenceSwitchKeyCodes.push(new cvox.KeySequence(b,a.cvoxModifier)),e.addKeyEvent(d));a.doubleTap&&cvox.KeySequence.doubleTapCache.push(e);return e};
cvox.KeySequence.fromStr=function(a){var b={},c={},d;d=-1==a.indexOf(">")?!1:!0;var e=!1;b.stickyMode=!1;b.prefixKey=!1;a=a.split("+");for(var f=0;f<a.length;f++)for(var g=a[f].split(">"),h=0;h<g.length;h++){if("#"==g[h].charAt(0)){var k=parseInt(g[h].substr(1),10);0<h?c.keyCode=k:b.keyCode=k}k=g[h];1==g[h].length?0<h?c.keyCode=g[h].charCodeAt(0):b.keyCode=g[h].charCodeAt(0):(0<h?cvox.KeySequence.setModifiersOnEvent_(k,c):cvox.KeySequence.setModifiersOnEvent_(k,b),"Cvox"==k&&(e=!0))}b=new cvox.KeySequence(b,
e);d&&b.addKeyEvent(c);return b};cvox.KeySequence.setModifiersOnEvent_=function(a,b){"Ctrl"==a?(b.ctrlKey=!0,b.keyCode=17):"Alt"==a?(b.altKey=!0,b.keyCode=18):"Shift"==a?(b.shiftKey=!0,b.keyCode=16):"Search"==a?(b.searchKeyHeld=!0,b.keyCode=91):"Cmd"==a?(b.metaKey=!0,b.keyCode=91):"Win"==a?(b.metaKey=!0,b.keyCode=91):"Insert"==a&&(b.keyCode=45)};
cvox.KeySequence.prototype.resolveChromeOSSpecialKeys_=function(a){if(!this.cvoxModifier||this.stickyMode||this.prefixKey||!cvox.ChromeVox.isChromeOS)return a;var b={},c;for(c in a)b[c]=a[c];switch(b.keyCode){case 33:b.keyCode=38;break;case 34:b.keyCode=40;break;case 35:b.keyCode=39;break;case 36:b.keyCode=37;break;case 45:b.keyCode=190;break;case 46:b.keyCode=8;break;case 112:b.keyCode=49;break;case 113:b.keyCode=50;break;case 114:b.keyCode=51;break;case 115:b.keyCode=52;break;case 116:b.keyCode=
53;break;case 117:b.keyCode=54;break;case 118:b.keyCode=55;break;case 119:b.keyCode=56;break;case 120:b.keyCode=57;break;case 121:b.keyCode=48;break;case 122:b.keyCode=189;break;case 123:b.keyCode=187}return b};cvox.KeyUtil=function(){};cvox.KeyUtil.modeKeyPressTime=0;cvox.KeyUtil.sequencing=!1;cvox.KeyUtil.prevKeySequence=null;cvox.KeyUtil.stickyKeySequence=null;cvox.KeyUtil.maxSeqLength=2;
cvox.KeyUtil.keyEventToKeySequence=function(a){var b=cvox.KeyUtil;b.prevKeySequence&&b.maxSeqLength==b.prevKeySequence.length()&&(b.sequencing=!1,b.prevKeySequence=null);var c=b.sequencing||a.keyPrefix||a.stickyMode,d=new cvox.KeySequence(a),e=d.cvoxModifier;if(c||e){if(!b.sequencing&&b.isSequenceSwitchKeyCode(d))return b.sequencing=!0,b.prevKeySequence=d;if(b.sequencing){if(b.prevKeySequence.addKeyEvent(a))return d=b.prevKeySequence,b.prevKeySequence=null,b.sequencing=!1,d;throw"Think sequencing is enabled, yet util.prevKeySequence alreadyhas two key codes"+
b.prevKeySequence;}}else b.sequencing=!1;c=(new Date).getTime();if(cvox.KeyUtil.isDoubleTapKey(d)&&b.prevKeySequence&&d.equals(b.prevKeySequence)&&(e=b.modeKeyPressTime,0<e&&300>c-e))return d=b.prevKeySequence,d.doubleTap=!0,b.prevKeySequence=null,b.sequencing=!1,cvox.ChromeVox.isChromeOS&&a.keyCode==cvox.KeyUtil.getStickyKeyCode()&&(cvox.ChromeVox.searchKeyHeld=!1),d;b.prevKeySequence=d;b.modeKeyPressTime=c;return d};
cvox.KeyUtil.keyCodeToString=function(a){return 17==a?"Ctrl":18==a?"Alt":16==a?"Shift":91==a||93==a?cvox.ChromeVox.isChromeOS?"Search":cvox.ChromeVox.isMac?"Cmd":"Win":45==a?"Insert":65<=a&&90>=a?String.fromCharCode(a):48<=a&&57>=a?String.fromCharCode(a):"#"+a};cvox.KeyUtil.modStringToKeyCode=function(a){switch(a){case "Ctrl":return 17;case "Alt":return 18;case "Shift":return 16;case "Cmd":case "Win":return 91}return-1};
cvox.KeyUtil.cvoxModKeyCodes=function(){var a=cvox.ChromeVox.modKeyStr.split(/\+/g);return a=a.map(function(a){return cvox.KeyUtil.modStringToKeyCode(a)})};cvox.KeyUtil.isSequenceSwitchKeyCode=function(a){for(var b=0;b<cvox.ChromeVox.sequenceSwitchKeyCodes.length;b++){var c=cvox.ChromeVox.sequenceSwitchKeyCodes[b];if(c.equals(a))return!0}return!1};
cvox.KeyUtil.getReadableNameForKeyCode=function(a){if(0==a)return"Power button";if(17==a)return"Control";if(18==a)return"Alt";if(16==a)return"Shift";if(9==a)return"Tab";if(91==a||93==a)return cvox.ChromeVox.isChromeOS?"Search":cvox.ChromeVox.isMac?"Cmd":"Win";if(8==a)return"Backspace";if(32==a)return"Space";if(35==a)return"end";if(36==a)return"home";if(37==a)return"Left arrow";if(38==a)return"Up arrow";if(39==a)return"Right arrow";if(40==a)return"Down arrow";if(45==a)return"Insert";if(13==a)return"Enter";
if(27==a)return"Escape";if(112==a)return cvox.ChromeVox.isChromeOS?"Back":"F1";if(113==a)return cvox.ChromeVox.isChromeOS?"Forward":"F2";if(114==a)return cvox.ChromeVox.isChromeOS?"Refresh":"F3";if(115==a)return cvox.ChromeVox.isChromeOS?"Toggle full screen":"F4";if(116==a)return"F5";if(117==a)return"F6";if(118==a)return"F7";if(119==a)return"F8";if(120==a)return"F9";if(121==a)return"F10";if(122==a)return"F11";if(123==a)return"F12";if(186==a)return"Semicolon";if(187==a)return"Equal sign";if(188==a)return"Comma";
if(189==a)return"Dash";if(190==a)return"Period";if(191==a)return"Forward slash";if(192==a)return"Grave accent";if(219==a)return"Open bracket";if(220==a)return"Back slash";if(221==a)return"Close bracket";if(222==a)return"Single quote";if(115==a)return"Toggle full screen";if(48<=a&&90>=a)return String.fromCharCode(a)};cvox.KeyUtil.getStickyKeyCode=function(){var a=45;if(cvox.ChromeVox.isChromeOS||cvox.ChromeVox.isMac)a=91;return a};
cvox.KeyUtil.getStickyKeySequence=function(){if(null==cvox.KeyUtil.stickyKeySequence){var a=cvox.KeyUtil.getStickyKeyCode(),a={keyCode:a,stickyMode:!0},b=new cvox.KeySequence(a);b.addKeyEvent(a);cvox.KeyUtil.stickyKeySequence=b}return cvox.KeyUtil.stickyKeySequence};cvox.KeyUtil.getReadableNameForStr=function(){return null};
cvox.KeyUtil.keySequenceToString=function(a,b,c){for(var d="",e=a.length(),f=0;f<e;f++){""==d||c?""!=d&&(d+="+"):d+=">";var g="",h;for(h in a.keys)if(a.keys[h][f]){var k="";switch(h){case "ctrlKey":k="Ctrl";break;case "searchKeyHeld":k=cvox.KeyUtil.getReadableNameForKeyCode(91);break;case "altKey":k="Alt";break;case "altGraphKey":k="AltGraph";break;case "shiftKey":k="Shift";break;case "metaKey":k=cvox.KeyUtil.getReadableNameForKeyCode(91);break;case "keyCode":var l=a.keys[h][f];a.isModifierKey(l)||
c||(g=b?g+cvox.KeyUtil.getReadableNameForKeyCode(l):g+cvox.KeyUtil.keyCodeToString(l))}-1==d.indexOf(k)&&(g+=k+"+")}d+=g;"+"==d[d.length-1]&&(d=d.slice(0,-1))}a.cvoxModifier||a.prefixKey?d=""!=d?"Cvox+"+d:"Cvox":a.stickyMode&&(">"==d[d.length-1]&&(d=d.slice(0,-1)),d=d+"+"+d);return d};cvox.KeyUtil.isDoubleTapKey=function(a){var b=!1,c=a.doubleTap;a.doubleTap=!0;for(var d=0,e;e=cvox.KeySequence.doubleTapCache[d];d++)if(e.equals(a)){b=!0;break}a.doubleTap=c;return b};cvox.PlatformUtil={};cvox.PlatformFilter={NONE:0,WINDOWS:1,MAC:2,LINUX:4,WML:7,CHROMEOS:8,ANDROID:16};cvox.PlatformUtil.matchesPlatform=function(a){var b=navigator.userAgent;return void 0==a?!0:-1!=b.indexOf("Android")?0!=(a&cvox.PlatformFilter.ANDROID):-1!=b.indexOf("Win")?0!=(a&cvox.PlatformFilter.WINDOWS):-1!=b.indexOf("Mac")?0!=(a&cvox.PlatformFilter.MAC):-1!=b.indexOf("Linux")?0!=(a&cvox.PlatformFilter.LINUX):-1!=b.indexOf("CrOS")?0!=(a&cvox.PlatformFilter.CHROMEOS):!1};cvox.KeyMap=function(a){this.bindings_=a;this.commandToKey_={};this.buildCommandToKey_()};cvox.KeyMap.KEYMAP_PATH="chromevox/background/keymaps/";cvox.KeyMap.AVAILABLE_MAP_INFO={keymap_classic:{file:"classic_keymap.json"},keymap_flat:{file:"flat_keymap.json"},keymap_experimental:{file:"experimental.json"}};cvox.KeyMap.DEFAULT_KEYMAP=0;cvox.KeyMap.prototype.length=function(){return this.bindings_.length};cvox.KeyMap.prototype.keys=function(){return this.bindings_.map(function(a){return a.sequence})};
cvox.KeyMap.prototype.bindings=function(){return this.bindings_};cvox.KeyMap.prototype.toJSON=function(){return JSON.stringify({bindings:this.bindings_})};cvox.KeyMap.prototype.toLocalStorage=function(){localStorage.keyBindings=this.toJSON()};cvox.KeyMap.prototype.hasCommand=function(a){if(null!=this.commandToKey_)return void 0!=this.commandToKey_[a];for(var b=0;b<this.bindings_.length;b++){var c=this.bindings_[b];if(c.command==a)return!0}return!1};
cvox.KeyMap.prototype.hasKey=function(a){for(var b=0;b<this.bindings_.length;b++){var c=this.bindings_[b];if(c.sequence.equals(a))return!0}return!1};cvox.KeyMap.prototype.commandForKey=function(a){if(null!=a)for(var b=0;b<this.bindings_.length;b++){var c=this.bindings_[b];if(c.sequence.equals(a))return c.command}return null};
cvox.KeyMap.prototype.keyForCommand=function(a){if(null!=this.commandToKey_)return[this.commandToKey_[a]];for(var b=[],c=0;c<this.bindings_.length;c++){var d=this.bindings_[c];d.command==a&&b.push(d.sequence)}return 0<b.length?b:[]};cvox.KeyMap.prototype.merge=function(a){for(var b=a.keys(),c=!0,d=0;d<b.length;++d){var e=b[d],f=a.commandForKey(e);"toggleStickyMode"!=f&&(e&&f&&!this.hasKey(e)&&!this.hasCommand(f)?this.bind_(f,e):c=!1)}return c};
cvox.KeyMap.prototype.rebind=function(a,b){return this.hasCommand(a)&&!this.hasKey(b)?(this.bind_(a,b),!0):!1};cvox.KeyMap.prototype.bind_=function(a,b){for(var c=!1,d=0;d<this.bindings_.length;d++){var e=this.bindings_[d];e.command==a&&(delete e.sequence,e.sequence=b,null!=this.commandToKey_&&(this.commandToKey_[e.command]=b),c=!0)}c||(e={command:a,sequence:b},this.bindings_.push(e),this.commandToKey_[e.command]=e.sequence)};
cvox.KeyMap.fromDefaults=function(){return cvox.KeyMap.fromPath(cvox.KeyMap.KEYMAP_PATH+cvox.KeyMap.AVAILABLE_MAP_INFO.keymap_classic.file)};cvox.KeyMap.fromJSON=function(a){try{var b=JSON.parse(a).bindings,b=b.filter(function(a){return void 0===a.sequence.platformFilter||cvox.PlatformUtil.matchesPlatform(a.sequence.platformFilter)})}catch(c){return null}if("object"!=typeof b)return null;for(a=0;a<b.length;a++){if(void 0==b[a].command||void 0==b[a].sequence)return null;b[a].sequence=cvox.KeySequence.deserialize(b[a].sequence)}return new cvox.KeyMap(b)};
cvox.KeyMap.fromLocalStorage=function(){return localStorage.keyBindings?cvox.KeyMap.fromJSON(localStorage.keyBindings):null};cvox.KeyMap.fromPath=function(a){return cvox.KeyMap.fromJSON(cvox.KeyMap.readJSON_(a))};cvox.KeyMap.fromCurrentKeyMap=function(){var a=localStorage.currentKeyMap;return a&&cvox.KeyMap.AVAILABLE_MAP_INFO[a]?cvox.KeyMap.fromPath(cvox.KeyMap.KEYMAP_PATH+cvox.KeyMap.AVAILABLE_MAP_INFO[a].file):cvox.KeyMap.fromDefaults()};
cvox.KeyMap.readJSON_=function(a){var b=chrome.extension.getURL(a);if(!b)throw"Invalid path: "+a;a=new XMLHttpRequest;a.open("GET",b,!1);a.send();return a.responseText};cvox.KeyMap.prototype.resetModifier=function(){localStorage.cvoxKey=cvox.ChromeVox.modKeyStr};cvox.KeyMap.prototype.buildCommandToKey_=function(){for(var a=0;a<this.bindings_.length;a++){var b=this.bindings_[a];void 0==this.commandToKey_[b.command]&&(this.commandToKey_[b.command]=b.sequence)}};cvox.CommandStore={};cvox.CommandStore.categories=function(){var a={},b;for(b in cvox.CommandStore.CMD_WHITELIST){var c=cvox.CommandStore.CMD_WHITELIST[b];c.category&&(a[c.category]=!0)}b=[];for(var d in a)b.push(d);return b};cvox.CommandStore.messageForCommand=function(a){return(cvox.CommandStore.CMD_WHITELIST[a]||{}).msgId};cvox.CommandStore.categoryForCommand=function(a){return(cvox.CommandStore.CMD_WHITELIST[a]||{}).category};
cvox.CommandStore.commandsForCategory=function(a){var b=[],c;for(c in cvox.CommandStore.CMD_WHITELIST){var d=cvox.CommandStore.CMD_WHITELIST[c];a==d.category&&b.push(c)}return b};
cvox.CommandStore.CMD_WHITELIST={toggleStickyMode:{announce:!1,msgId:"toggle_sticky_mode",disallowOOBE:!0,category:"modifier_keys"},toggleKeyPrefix:{announce:!1,skipInput:!0,msgId:"prefix_key",disallowOOBE:!0,category:"modifier_keys"},passThroughMode:{announce:!1,msgId:"pass_through_key_description",category:"modifier_keys"},stopSpeech:{announce:!1,disallowContinuation:!0,doDefault:!0,msgId:"stop_speech_key",category:"controlling_speech"},toggleChromeVox:{announce:!1,platformFilter:cvox.PlatformFilter.WML,
msgId:"toggle_chromevox_active",category:"controlling_speech"},decreaseTtsRate:{announce:!1,msgId:"decrease_tts_rate",category:"controlling_speech"},increaseTtsRate:{announce:!1,msgId:"increase_tts_rate",category:"controlling_speech"},decreaseTtsPitch:{announce:!1,msgId:"decrease_tts_pitch",category:"controlling_speech"},increaseTtsPitch:{announce:!1,msgId:"increase_tts_pitch",category:"controlling_speech"},decreaseTtsVolume:{announce:!1,msgId:"decrease_tts_volume",category:"controlling_speech"},
increaseTtsVolume:{announce:!1,msgId:"increase_tts_volume",category:"controlling_speech"},cyclePunctuationEcho:{announce:!1,msgId:"cycle_punctuation_echo",category:"controlling_speech"},cycleTypingEcho:{announce:!1,msgId:"cycle_typing_echo",category:"controlling_speech"},toggleEarcons:{announce:!0,msgId:"toggle_earcons",category:"controlling_speech"},handleTab:{allowEvents:!0,msgId:"handle_tab_next",disallowContinuation:!0,category:"navigation"},handleTabPrev:{allowEvents:!0,msgId:"handle_tab_prev",
disallowContinuation:!0,category:"navigation"},forward:{forward:!0,announce:!0,msgId:"forward",category:"navigation"},backward:{backward:!0,announce:!0,msgId:"backward",category:"navigation"},right:{forward:!0,announce:!0,msgId:"right",category:"navigation"},left:{backward:!0,announce:!0,msgId:"left",category:"navigation"},previousGranularity:{announce:!0,msgId:"previous_granularity",category:"navigation"},nextGranularity:{announce:!0,msgId:"next_granularity",category:"navigation"},previousCharacter:{backward:!0,
announce:!0,msgId:"previous_character",skipInput:!0,category:"navigation"},nextCharacter:{forward:!0,announce:!0,msgId:"next_character",skipInput:!0,category:"navigation"},previousWord:{backward:!0,announce:!0,msgId:"previous_word",skipInput:!0,category:"navigation"},nextWord:{forward:!0,announce:!0,msgId:"next_word",skipInput:!0,category:"navigation"},previousLine:{backward:!0,announce:!0,msgId:"previous_line",category:"navigation"},nextLine:{forward:!0,announce:!0,msgId:"next_line",category:"navigation"},
previousSentence:{backward:!0,announce:!0,msgId:"previous_sentence",skipInput:!0,category:"navigation"},nextSentence:{forward:!0,announce:!0,msgId:"next_sentence",skipInput:!0,category:"navigation"},previousObject:{backward:!0,announce:!0,msgId:"previous_object",skipInput:!0,category:"navigation"},nextObject:{forward:!0,announce:!0,msgId:"next_object",skipInput:!0,category:"navigation"},previousGroup:{backward:!0,announce:!0,msgId:"previous_group",skipInput:!0,category:"navigation"},nextGroup:{forward:!0,
announce:!0,msgId:"next_group",skipInput:!0,category:"navigation"},jumpToTop:{forward:!0,announce:!0,msgId:"jump_to_top",category:"navigation"},jumpToBottom:{backward:!0,announce:!0,msgId:"jump_to_bottom",category:"navigation"},moveToStartOfLine:{forward:!0,announce:!0},moveToEndOfLine:{backward:!0,announce:!0},readFromHere:{forward:!0,announce:!1,msgId:"read_from_here",category:"navigation"},performDefaultAction:{disallowContinuation:!0,msgId:"perform_default_action",doDefault:!0,skipInput:!0,category:"navigation"},
forceClickOnCurrentItem:{announce:!0,disallowContinuation:!0,allowEvents:!0,msgId:"force_click_on_current_item",category:"navigation"},forceDoubleClickOnCurrentItem:{announce:!0,allowEvents:!0,disallowContinuation:!0},readLinkURL:{announce:!1,msgId:"read_link_url",category:"information"},readCurrentTitle:{announce:!1,msgId:"read_current_title",category:"information"},readCurrentURL:{announce:!1,msgId:"read_current_url",category:"information"},fullyDescribe:{announce:!1,msgId:"fully_describe",category:"information"},
speakTimeAndDate:{announce:!1,msgId:"speak_time_and_date",category:"information"},toggleSelection:{announce:!0,msgId:"toggle_selection",category:"information"},toggleSearchWidget:{announce:!1,disallowContinuation:!0,msgId:"toggle_search_widget",category:"information"},toggleKeyboardHelp:{announce:!1,disallowContinuation:!0,msgId:"show_power_key",category:"help_commands"},help:{announce:!1,msgId:"help",disallowOOBE:!0,disallowContinuation:!0,category:"help_commands"},contextMenu:{announce:!1,disallowContinuation:!0},
showOptionsPage:{announce:!1,disallowContinuation:!0,msgId:"show_options_page",disallowOOBE:!0,category:"help_commands"},showKbExplorerPage:{announce:!1,disallowContinuation:!0,msgId:"show_kb_explorer_page",disallowOOBE:!0,category:"help_commands"},showFormsList:{announce:!1,disallowContinuation:!0,nodeList:"formField",msgId:"show_forms_list",category:"overview"},showHeadingsList:{announce:!1,nodeList:"heading",disallowContinuation:!0,msgId:"show_headings_list",category:"overview"},showLandmarksList:{announce:!1,
nodeList:"landmark",disallowContinuation:!0,msgId:"show_landmarks_list",category:"overview"},showLinksList:{announce:!1,nodeList:"link",disallowContinuation:!0,msgId:"show_links_list",category:"overview"},showTablesList:{announce:!1,nodeList:"table",disallowContinuation:!0,msgId:"show_tables_list",category:"overview"},startHistoryRecording:{announce:!1},stopHistoryRecording:{announce:!1},enableConsoleTts:{announce:!1},autorunner:{announce:!1},nextArticle:{forward:!0,findNext:"article"},nextButton:{forward:!0,
findNext:"button",msgId:"next_button",category:"jump_commands"},nextCheckbox:{forward:!0,findNext:"checkbox",msgId:"next_checkbox",category:"jump_commands"},nextComboBox:{forward:!0,findNext:"combobox",msgId:"next_combo_box",category:"jump_commands"},nextControl:{forward:!0,findNext:"control"},nextEditText:{forward:!0,findNext:"editText",msgId:"next_edit_text",category:"jump_commands"},nextFormField:{forward:!0,findNext:"formField",msgId:"next_form_field",category:"jump_commands"},nextGraphic:{forward:!0,
findNext:"graphic",msgId:"next_graphic",category:"jump_commands"},nextHeading:{forward:!0,findNext:"heading",msgId:"next_heading",category:"jump_commands"},nextHeading1:{forward:!0,findNext:"heading1",msgId:"next_heading1",category:"jump_commands"},nextHeading2:{forward:!0,findNext:"heading2",msgId:"next_heading2",category:"jump_commands"},nextHeading3:{forward:!0,findNext:"heading3",msgId:"next_heading3",category:"jump_commands"},nextHeading4:{forward:!0,findNext:"heading4",msgId:"next_heading4",
category:"jump_commands"},nextHeading5:{forward:!0,findNext:"heading5",msgId:"next_heading5",category:"jump_commands"},nextHeading6:{forward:!0,findNext:"heading6",msgId:"next_heading6",category:"jump_commands"},nextLandmark:{forward:!0,findNext:"landmark",msgId:"next_landmark",category:"jump_commands"},nextLink:{forward:!0,findNext:"link",msgId:"next_link",category:"jump_commands"},nextList:{forward:!0,findNext:"list",msgId:"next_list",category:"jump_commands"},nextListItem:{forward:!0,findNext:"listItem",
msgId:"next_list_item",category:"jump_commands"},nextMath:{forward:!0,findNext:"math",msgId:"next_math",category:"jump_commands"},nextMedia:{forward:!0,findNext:"media",msgId:"next_media",category:"jump_commands"},nextRadio:{forward:!0,findNext:"radio",msgId:"next_radio",category:"jump_commands"},nextSection:{forward:!0,findNext:"section"},nextSlider:{forward:!0,findNext:"slider"},nextTable:{forward:!0,findNext:"table",msgId:"next_table",category:"jump_commands"},nextVisitedLink:{forward:!0,findNext:"visitedLink",
msgId:"next_visited_link",category:"jump_commands"},previousArticle:{backward:!0,findNext:"article"},previousButton:{backward:!0,findNext:"button",msgId:"previous_button",category:"jump_commands"},previousCheckbox:{backward:!0,findNext:"checkbox",msgId:"previous_checkbox",category:"jump_commands"},previousComboBox:{backward:!0,findNext:"combobox",msgId:"previous_combo_box",category:"jump_commands"},previousControl:{backward:!0,findNext:"control"},previousEditText:{backward:!0,findNext:"editText",
msgId:"previous_edit_text",category:"jump_commands"},previousFormField:{backward:!0,findNext:"formField",msgId:"previous_form_field",category:"jump_commands"},previousGraphic:{backward:!0,findNext:"graphic",msgId:"previous_graphic",category:"jump_commands"},previousHeading:{backward:!0,findNext:"heading",msgId:"previous_heading",category:"jump_commands"},previousHeading1:{backward:!0,findNext:"heading1",msgId:"previous_heading1",category:"jump_commands"},previousHeading2:{backward:!0,findNext:"heading2",
msgId:"previous_heading2",category:"jump_commands"},previousHeading3:{backward:!0,findNext:"heading3",msgId:"previous_heading3",category:"jump_commands"},previousHeading4:{backward:!0,findNext:"heading4",msgId:"previous_heading4",category:"jump_commands"},previousHeading5:{backward:!0,findNext:"heading5",msgId:"previous_heading5",category:"jump_commands"},previousHeading6:{backward:!0,findNext:"heading6",msgId:"previous_heading6",category:"jump_commands"},previousLandmark:{backward:!0,findNext:"landmark",
msgId:"previous_landmark",category:"jump_commands"},previousLink:{backward:!0,findNext:"link",msgId:"previous_link",category:"jump_commands"},previousList:{backward:!0,findNext:"list",msgId:"previous_list",category:"jump_commands"},previousListItem:{backward:!0,findNext:"listItem",msgId:"previous_list_item",category:"jump_commands"},previousMath:{backward:!0,findNext:"math",msgId:"previous_math",category:"jump_commands"},previousMedia:{backward:!0,findNext:"media",msgId:"previous_media",category:"jump_commands"},
previousRadio:{backward:!0,findNext:"radio",msgId:"previous_radio",category:"jump_commands"},previousSection:{backward:!0,findNext:"section"},previousSlider:{backward:!0,findNext:"slider"},previousTable:{backward:!0,findNext:"table",msgId:"previous_table",category:"jump_commands"},previousVisitedLink:{backward:!0,findNext:"visitedLink",msgId:"previous_visited_link",category:"jump_commands"},announceHeaders:{announce:!1,msgId:"announce_headers",category:"tables"},speakTableLocation:{announce:!1,msgId:"speak_table_location",
category:"tables"},goToFirstCell:{announce:!0,msgId:"skip_to_beginning",category:"tables"},goToLastCell:{announce:!0,msgId:"skip_to_end",category:"tables"},goToRowFirstCell:{announce:!0,msgId:"skip_to_row_beginning",category:"tables"},goToRowLastCell:{announce:!0,msgId:"skip_to_row_end",category:"tables"},goToColFirstCell:{announce:!0,msgId:"skip_to_col_beginning",category:"tables"},goToColLastCell:{announce:!0,msgId:"skip_to_col_end",category:"tables"},previousRow:{backward:!0,announce:!0,skipInput:!0},
previousCol:{backward:!0,announce:!0,skipInput:!0},nextRow:{forward:!0,announce:!0,skipInput:!0},nextCol:{forward:!0,announce:!0,skipInput:!0},enterShifter:{announce:!0,msgId:"enter_content",category:"navigation"},exitShifter:{announce:!0,msgId:"exit_content",category:"navigation"},exitShifterContent:{announce:!0},openLongDesc:{announce:!1,msgId:"open_long_desc",category:"information"},pauseAllMedia:{announce:!1,msgId:"pause_all_media",category:"information"},toggleSemantics:{announce:!1,msgId:"toggle_semantics",
category:"information"},routing:{announce:!0,msgId:"braille_routing",category:"braille"},pan_left:{backward:!0,announce:!0,msgId:"braille_pan_left",category:"braille"},pan_right:{forward:!0,announce:!0,msgId:"braille_pan_right",category:"braille"},line_up:{backward:!0,announce:!0,msgId:"braille_line_up",category:"braille"},line_down:{forward:!0,announce:!0,msgId:"braille_line_down",category:"braille"},top:{forward:!0,announce:!0,msgId:"braille_top",category:"braille"},bottom:{backward:!0,announce:!0,
msgId:"braille_bottom",category:"braille"},debug:{announce:!1},nop:{announce:!1}};
cvox.CommandStore.NODE_INFO_MAP={checkbox:{predicate:"checkboxPredicate",forwardError:"no_next_checkbox",backwardError:"no_previous_checkbox",typeMsg:"aria_role_checkbox"},radio:{predicate:"radioPredicate",forwardError:"no_next_radio_button",backwardError:"no_previous_radio_button",typeMsg:"aria_role_radio"},slider:{predicate:"sliderPredicate",forwardError:"no_next_slider",backwardError:"no_previous_slider",typeMsg:"aria_role_slider"},graphic:{predicate:"graphicPredicate",forwardError:"no_next_graphic",
backwardError:"no_previous_graphic",typeMsg:"UNUSED"},article:{predicate:"articlePredicate",forwardError:"no_next_ARTICLE",backwardError:"no_previous_ARTICLE",typeMsg:"TAG_ARTICLE"},button:{predicate:"buttonPredicate",forwardError:"no_next_button",backwardError:"no_previous_button",typeMsg:"aria_role_button"},combobox:{predicate:"comboBoxPredicate",forwardError:"no_next_combo_box",backwardError:"no_previous_combo_box",typeMsg:"aria_role_combobox"},editText:{predicate:"editTextPredicate",forwardError:"no_next_edit_text",
backwardError:"no_previous_edit_text",typeMsg:"input_type_text"},heading:{predicate:"headingPredicate",forwardError:"no_next_heading",backwardError:"no_previous_heading",typeMsg:"aria_role_heading"},heading1:{predicate:"heading1Predicate",forwardError:"no_next_heading_1",backwardError:"no_previous_heading_1"},heading2:{predicate:"heading2Predicate",forwardError:"no_next_heading_2",backwardError:"no_previous_heading_2"},heading3:{predicate:"heading3Predicate",forwardError:"no_next_heading_3",backwardError:"no_previous_heading_3"},
heading4:{predicate:"heading4Predicate",forwardError:"no_next_heading_4",backwardError:"no_previous_heading_4"},heading5:{predicate:"heading5Predicate",forwardError:"no_next_heading_5",backwardError:"no_previous_heading_5"},heading6:{predicate:"heading6Predicate",forwardError:"no_next_heading_6",backwardError:"no_previous_heading_6"},link:{predicate:"linkPredicate",forwardError:"no_next_link",backwardError:"no_previous_link",typeMsg:"aria_role_link"},table:{predicate:"tablePredicate",forwardError:"no_next_table",
backwardError:"no_previous_table",typeMsg:"table_strategy"},visitedLink:{predicate:"visitedLinkPredicate",forwardError:"no_next_visited_link",backwardError:"no_previous_visited_link",typeMsg:"tag_link"},list:{predicate:"listPredicate",forwardError:"no_next_list",backwardError:"no_previous_list",typeMsg:"aria_role_list"},listItem:{predicate:"listItemPredicate",forwardError:"no_next_list_item",backwardError:"no_previous_list_item",typeMsg:"aria_role_listitem"},formField:{predicate:"formFieldPredicate",
forwardError:"no_next_form_field",backwardError:"no_previous_form_field",typeMsg:"aria_role_form"},landmark:{predicate:"landmarkPredicate",forwardError:"no_next_landmark",backwardError:"no_previous_landmark",typeMsg:"role_landmark"},math:{predicate:"mathPredicate",forwardError:"no_next_math",backwardError:"no_previous_math",typeMsg:"math_expr"},media:{predicate:"mediaPredicate",forwardError:"no_next_media_widget",backwardError:"no_previous_media_widget"},section:{predicate:"sectionPredicate",forwardError:"no_next_section",
backwardError:"no_previous_section"},control:{predicate:"controlPredicate",forwardError:"no_next_control",backwardError:"no_previous_control"}};cvox.Cursor=function(a,b,c){this.node=a;this.index=b;this.text=c};cvox.Cursor.prototype.clone=function(){return new cvox.Cursor(this.node,this.index,this.text)};cvox.Cursor.prototype.copyFrom=function(a){this.node=a.node;this.index=a.index;this.text=a.text};cvox.Cursor.prototype.equals=function(a){return this.node==a.node&&this.index==a.index&&this.text==a.text};goog.debug={};goog.debug.Error=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name="CustomError";goog.dom={};goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.string={};goog.string.Unicode={NBSP:"\u00a0"};goog.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};goog.string.endsWith=function(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))};goog.string.caseInsensitiveEndsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))};
goog.string.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()};goog.string.subs=function(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")};goog.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};goog.string.isEmpty=function(a){return/^[\s\xa0]*$/.test(a)};goog.string.isEmptySafe=function(a){return goog.string.isEmpty(goog.string.makeSafe(a))};
goog.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};goog.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};goog.string.isNumeric=function(a){return!/[^0-9]/.test(a)};goog.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};goog.string.isSpace=function(a){return" "==a};goog.string.isUnicodeChar=function(a){return 1==a.length&&" "<=a&&"~">=a||"\u0080"<=a&&"\ufffd">=a};goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};
goog.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};goog.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};
goog.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};goog.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};goog.string.caseInsensitiveCompare=function(a,b){var c=String(a).toLowerCase(),d=String(b).toLowerCase();return c<d?-1:c==d?0:1};goog.string.numerateCompareRegExp_=/(\.\d+)|(\d+)|(\D+)/g;
goog.string.numerateCompare=function(a,b){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var c=a.toLowerCase().match(goog.string.numerateCompareRegExp_),d=b.toLowerCase().match(goog.string.numerateCompareRegExp_),e=Math.min(c.length,d.length),f=0;f<e;f++){var g=c[f],h=d[f];if(g!=h)return c=parseInt(g,10),!isNaN(c)&&(d=parseInt(h,10),!isNaN(d)&&c-d)?c-d:g<h?-1:1}return c.length!=d.length?c.length-d.length:a<b?-1:1};goog.string.urlEncode=function(a){return encodeURIComponent(String(a))};
goog.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};goog.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"<br />":"<br>")};
goog.string.htmlEscape=function(a,b){if(b)return a.replace(goog.string.amperRe_,"&amp;").replace(goog.string.ltRe_,"&lt;").replace(goog.string.gtRe_,"&gt;").replace(goog.string.quotRe_,"&quot;").replace(goog.string.singleQuoteRe_,"&#39;");if(!goog.string.allRe_.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(goog.string.amperRe_,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(goog.string.ltRe_,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(goog.string.gtRe_,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(goog.string.quotRe_,
"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(goog.string.singleQuoteRe_,"&#39;"));return a};goog.string.amperRe_=/&/g;goog.string.ltRe_=/</g;goog.string.gtRe_=/>/g;goog.string.quotRe_=/"/g;goog.string.singleQuoteRe_=/'/g;goog.string.allRe_=/[&<>"']/;goog.string.unescapeEntities=function(a){return goog.string.contains(a,"&")?"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a};
goog.string.unescapeEntitiesWithDocument=function(a,b){return goog.string.contains(a,"&")?goog.string.unescapeEntitiesUsingDom_(a,b):a};
goog.string.unescapeEntitiesUsingDom_=function(a,b){var c={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"'},d;d=b?b.createElement("div"):document.createElement("div");return a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,b){var g=c[a];if(g)return g;if("#"==b.charAt(0)){var h=Number("0"+b.substr(1));isNaN(h)||(g=String.fromCharCode(h))}g||(d.innerHTML=a+" ",g=d.firstChild.nodeValue.slice(0,-1));return c[a]=g})};
goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:if("#"==c.charAt(0)){var d=Number("0"+c.substr(1));if(!isNaN(d))return String.fromCharCode(d)}return a}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/  /g," &#160;"),b)};
goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};goog.string.truncate=function(a,b,c){c&&(a=goog.string.unescapeEntities(a));a.length>b&&(a=a.substring(0,b-3)+"...");c&&(a=goog.string.htmlEscape(a));return a};
goog.string.truncateMiddle=function(a,b,c,d){c&&(a=goog.string.unescapeEntities(a));if(d&&a.length>b){d>b&&(d=b);var e=a.length-d;b-=d;a=a.substring(0,b)+"..."+a.substring(e)}else a.length>b&&(e=Math.floor(b/2),d=a.length-e,e+=b%2,a=a.substring(0,e)+"..."+a.substring(d));c&&(a=goog.string.htmlEscape(a));return a};goog.string.specialEscapeChars_={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\"};goog.string.jsEscapeCache_={"'":"\\'"};
goog.string.quote=function(a){a=String(a);if(a.quote)return a.quote();for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.string.specialEscapeChars_[d]||(31<e&&127>e?d:goog.string.escapeChar(d))}b.push('"');return b.join("")};goog.string.escapeString=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")};
goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b=a,c=a.charCodeAt(0);if(31<c&&127>c)b=a;else{if(256>c){if(b="\\x",16>c||256<c)b+="0"}else b="\\u",4096>c&&(b+="0");b+=c.toString(16).toUpperCase()}return goog.string.jsEscapeCache_[a]=b};goog.string.toMap=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=!0;return b};
goog.string.contains=function(a,b){return-1!=a.indexOf(b)};goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0<=b&&b<a.length&&0<c&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};goog.string.remove=function(a,b){var c=RegExp(goog.string.regExpEscape(b),"");return a.replace(c,"")};goog.string.removeAll=function(a,b){var c=RegExp(goog.string.regExpEscape(b),"g");return a.replace(c,"")};
goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=function(a,b){return Array(b+1).join(a)};goog.string.padNumber=function(a,b,c){a=goog.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");-1==c&&(c=a.length);return goog.string.repeat("0",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return null==a?"":String(a)};goog.string.buildString=function(a){return Array.prototype.join.call(arguments,"")};
goog.string.getRandomString=function(){var a=2147483648;return Math.floor(Math.random()*a).toString(36)+Math.abs(Math.floor(Math.random()*a)^goog.now()).toString(36)};
goog.string.compareVersions=function(a,b){for(var c=0,d=goog.string.trim(String(a)).split("."),e=goog.string.trim(String(b)).split("."),f=Math.max(d.length,e.length),g=0;0==c&&g<f;g++){var h=d[g]||"",k=e[g]||"",l=/(\d*)(\D*)/g,m=/(\d*)(\D*)/g;do{var p=l.exec(h)||["","",""],q=m.exec(k)||["","",""];if(0==p[0].length&&0==q[0].length)break;var c=0==p[1].length?0:parseInt(p[1],10),n=0==q[1].length?0:parseInt(q[1],10),c=goog.string.compareElements_(c,n)||goog.string.compareElements_(0==p[2].length,0==q[2].length)||
goog.string.compareElements_(p[2],q[2])}while(0==c)}return c};goog.string.compareElements_=function(a,b){return a<b?-1:a>b?1:0};goog.string.HASHCODE_MAX_=4294967296;goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c),b%=goog.string.HASHCODE_MAX_;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};
goog.string.toNumber=function(a){var b=Number(a);return 0==b&&goog.string.isEmpty(a)?NaN:b};goog.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};goog.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)};goog.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};
goog.string.toTitleCase=function(a,b){var c=goog.isString(b)?goog.string.regExpEscape(b):"\\s",c=c?"|["+c+"]+":"",c=RegExp("(^"+c+")([a-z])","g");return a.replace(c,function(a,b,c){return b+c.toUpperCase()})};goog.string.parseInt=function(a){isFinite(a)&&(a=String(a));return goog.isString(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN};goog.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];0<c&&a.length;)d.push(a.shift()),c--;a.length&&d.push(a.join(b));return d};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.AssertionError=function(a,b){b.unshift(a);goog.debug.Error.call(this,goog.string.subs.apply(null,b));b.shift()};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name="AssertionError";goog.asserts.doAssertFailure_=function(a,b,c,d){var e="Assertion failed";if(c)var e=e+(": "+c),f=d;else a&&(e+=": "+a,f=b);throw new goog.asserts.AssertionError(""+e,f||[]);};
goog.asserts.assert=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!a&&goog.asserts.doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.fail=function(a,b){if(goog.asserts.ENABLE_ASSERTS)throw new goog.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));};
goog.asserts.assertNumber=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(a)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertString=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isString(a)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertFunction=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(a)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertObject=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isObject(a)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertArray=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isArray(a)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertBoolean=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(a)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
goog.asserts.assertElement=function(a,b,c){!goog.asserts.ENABLE_ASSERTS||goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertInstanceof=function(a,b,c,d){!goog.asserts.ENABLE_ASSERTS||a instanceof b||goog.asserts.doAssertFailure_("instanceof check failed.",null,c,Array.prototype.slice.call(arguments,3));return a};
goog.asserts.assertObjectPrototypeIsIntact=function(){for(var a in Object.prototype)goog.asserts.fail(a+" should not be enumerable in Object.prototype.")};goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;goog.array.ASSUME_NATIVE_FUNCTIONS=!1;goog.array.peek=function(a){return a[a.length-1]};goog.array.ARRAY_PROTOTYPE_=Array.prototype;
goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.indexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return goog.array.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(goog.isString(a))return goog.isString(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};
goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.lastIndexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);c=null==c?a.length-1:c;return goog.array.ARRAY_PROTOTYPE_.lastIndexOf.call(a,b,c)}:function(a,b,c){c=null==c?a.length-1:c;0>c&&(c=Math.max(0,a.length+c));if(goog.isString(a))return goog.isString(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1};
goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.forEach)?function(a,b,c){goog.asserts.assert(null!=a.length);goog.array.ARRAY_PROTOTYPE_.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};goog.array.forEachRight=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,d=d-1;0<=d;--d)d in e&&b.call(c,e[d],d,a)};
goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.filter)?function(a,b,c){goog.asserts.assert(null!=a.length);return goog.array.ARRAY_PROTOTYPE_.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog.isString(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var k=g[h];b.call(c,k,h,a)&&(e[f++]=k)}return e};
goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.map)?function(a,b,c){goog.asserts.assert(null!=a.length);return goog.array.ARRAY_PROTOTYPE_.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isString(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};
goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.reduce)?function(a,b,c,d){goog.asserts.assert(null!=a.length);d&&(b=goog.bind(b,d));return goog.array.ARRAY_PROTOTYPE_.reduce.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.reduceRight)?function(a,b,c,d){goog.asserts.assert(null!=a.length);d&&(b=goog.bind(b,d));return goog.array.ARRAY_PROTOTYPE_.reduceRight.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEachRight(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.some)?function(a,b,c){goog.asserts.assert(null!=a.length);return goog.array.ARRAY_PROTOTYPE_.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1};
goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||goog.array.ARRAY_PROTOTYPE_.every)?function(a,b,c){goog.asserts.assert(null!=a.length);return goog.array.ARRAY_PROTOTYPE_.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};goog.array.count=function(a,b,c){var d=0;goog.array.forEach(a,function(a,f,g){b.call(c,a,f,g)&&++d},c);return d};
goog.array.find=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};goog.array.findRight=function(a,b,c){b=goog.array.findIndexRight(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};
goog.array.findIndexRight=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,d=d-1;0<=d;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return 0<=goog.array.indexOf(a,b)};goog.array.isEmpty=function(a){return 0==a.length};goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0};goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)};
goog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0>(d=goog.array.indexOf(a,c))?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=function(a,b){var c=goog.array.indexOf(a,b),d;(d=0<=c)&&goog.array.removeAt(a,c);return d};
goog.array.removeAt=function(a,b){goog.asserts.assert(null!=a.length);return 1==goog.array.ARRAY_PROTOTYPE_.splice.call(a,b,1).length};goog.array.removeIf=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.concat=function(a){return goog.array.ARRAY_PROTOTYPE_.concat.apply(goog.array.ARRAY_PROTOTYPE_,arguments)};goog.array.toArray=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};goog.array.clone=goog.array.toArray;
goog.array.extend=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c],e;if(goog.isArray(d)||(e=goog.isArrayLike(d))&&Object.prototype.hasOwnProperty.call(d,"callee"))a.push.apply(a,d);else if(e)for(var f=a.length,g=d.length,h=0;h<g;h++)a[f+h]=d[h];else a.push(d)}};goog.array.splice=function(a,b,c,d){goog.asserts.assert(null!=a.length);return goog.array.ARRAY_PROTOTYPE_.splice.apply(a,goog.array.slice(arguments,1))};
goog.array.slice=function(a,b,c){goog.asserts.assert(null!=a.length);return 2>=arguments.length?goog.array.ARRAY_PROTOTYPE_.slice.call(a,b):goog.array.ARRAY_PROTOTYPE_.slice.call(a,b,c)};goog.array.removeDuplicates=function(a,b,c){b=b||a;var d=function(){return goog.isObject(g)?"o"+goog.getUid(g):(typeof g).charAt(0)+g};c=c||d;for(var d={},e=0,f=0;f<a.length;){var g=a[f++],h=c(g);Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,b[e++]=g)}b.length=e};
goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)};goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)};goog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f<g;){var k=f+g>>1,l;l=c?b.call(e,a[k],k,a):b(d,a[k]);0<l?f=k+1:(g=k,h=!l)}return h?f:~f};goog.array.sort=function(a,b){a.sort(b||goog.array.defaultCompare)};
goog.array.stableSort=function(a,b){function c(a,b){return e(a.value,b.value)||a.index-b.index}for(var d=0;d<a.length;d++)a[d]={index:d,value:a[d]};var e=b||goog.array.defaultCompare;goog.array.sort(a,c);for(d=0;d<a.length;d++)a[d]=a[d].value};goog.array.sortObjectsByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(a[b],c[b])})};
goog.array.isSorted=function(a,b,c){b=b||goog.array.defaultCompare;for(var d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(0<e||0==e&&c)return!1}return!0};goog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return!1;var d=a.length;c=c||goog.array.defaultCompareEquality;for(var e=0;e<d;e++)if(!c(a[e],b[e]))return!1;return!0};
goog.array.compare3=function(a,b,c){c=c||goog.array.defaultCompare;for(var d=Math.min(a.length,b.length),e=0;e<d;e++){var f=c(a[e],b[e]);if(0!=f)return f}return goog.array.defaultCompare(a.length,b.length)};goog.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryInsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);return 0>c?(goog.array.insertAt(a,b,-(c+1)),!0):!1};
goog.array.binaryRemove=function(a,b,c){b=goog.array.binarySearch(a,b,c);return 0<=b?goog.array.removeAt(a,b):!1};goog.array.bucket=function(a,b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=b.call(c,f,e,a);goog.isDef(g)&&(g=d[g]||(d[g]=[]),g.push(f))}return d};goog.array.toObject=function(a,b,c){var d={};goog.array.forEach(a,function(e,f){d[b.call(c,e,f,a)]=e});return d};
goog.array.range=function(a,b,c){var d=[],e=0,f=a;c=c||1;void 0!==b&&(e=a,f=b);if(0>c*(f-e))return[];if(0<c)for(a=e;a<f;a+=c)d.push(a);else for(a=e;a>f;a+=c)d.push(a);return d};goog.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};goog.array.flatten=function(a){for(var b=[],c=0;c<arguments.length;c++){var d=arguments[c];goog.isArray(d)?b.push.apply(b,goog.array.flatten.apply(null,d)):b.push(d)}return b};
goog.array.rotate=function(a,b){goog.asserts.assert(null!=a.length);a.length&&(b%=a.length,0<b?goog.array.ARRAY_PROTOTYPE_.unshift.apply(a,a.splice(-b,b)):0>b&&goog.array.ARRAY_PROTOTYPE_.push.apply(a,a.splice(0,-b)));return a};goog.array.moveItem=function(a,b,c){goog.asserts.assert(0<=b&&b<a.length);goog.asserts.assert(0<=c&&c<a.length);b=goog.array.ARRAY_PROTOTYPE_.splice.call(a,b,1);goog.array.ARRAY_PROTOTYPE_.splice.call(a,c,0,b[0])};
goog.array.zip=function(a){if(!arguments.length)return[];for(var b=[],c=0;;c++){for(var d=[],e=0;e<arguments.length;e++){var f=arguments[e];if(c>=f.length)return b;d.push(f[c])}b.push(d)}};goog.array.shuffle=function(a,b){for(var c=b||Math.random,d=a.length-1;0<d;d--){var e=Math.floor(c()*(d+1)),f=a[d];a[d]=a[e];a[e]=f}};goog.math={};goog.math.randomInt=function(a){return Math.floor(Math.random()*a)};goog.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)};goog.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)};goog.math.modulo=function(a,b){var c=a%b;return 0>c*b?c+b:c};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)};
goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return 180*a/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))};goog.math.angleDifference=function(a,b){var c=goog.math.standardAngle(b)-goog.math.standardAngle(a);180<c?c-=360:-180>=c&&(c=360+c);return c};
goog.math.sign=function(a){return 0==a?0:0>a?-1:1};goog.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(a,b){return a==b};d=d||function(b){return a[b]};for(var e=a.length,f=b.length,g=[],h=0;h<e+1;h++)g[h]=[],g[h][0]=0;for(var k=0;k<f+1;k++)g[0][k]=0;for(h=1;h<=e;h++)for(k=1;k<=f;k++)c(a[h-1],b[k-1])?g[h][k]=g[h-1][k-1]+1:g[h][k]=Math.max(g[h-1][k],g[h][k-1]);for(var l=[],h=e,k=f;0<h&&0<k;)c(a[h-1],b[k-1])?(l.unshift(d(h-1,k-1)),h--,k--):g[h-1][k]>g[h][k-1]?h--:k--;return l};
goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.sampleVariance=function(a){var b=arguments.length;if(2>b)return 0;var c=goog.math.average.apply(null,arguments);return b=goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1)};
goog.math.standardDeviation=function(a){return Math.sqrt(goog.math.sampleVariance.apply(null,arguments))};goog.math.isInt=function(a){return isFinite(a)&&0==a%1};goog.math.isFiniteNumber=function(a){return isFinite(a)&&!isNaN(a)};goog.math.safeFloor=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.floor(a+(b||2E-15))};goog.math.safeCeil=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.ceil(a-(b||2E-15))};goog.i18n={};
goog.i18n.CompactNumberFormatSymbols_af={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0"},1E4:{other:"0"},1E5:{other:"0"},1E6:{other:"0\u00a0m"},1E7:{other:"00\u00a0m"},1E8:{other:"000\u00a0m"},1E9:{other:"0\u00a0mjd"},1E10:{other:"00\u00a0mjd"},1E11:{other:"000\u00a0mjd"},1E12:{other:"0\u00a0bn"},1E13:{other:"00\u00a0bn"},1E14:{other:"000\u00a0bn"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 duisend"},1E4:{other:"00 duisend"},1E5:{other:"000 duisend"},1E6:{other:"0 miljoen"},1E7:{other:"00 miljoen"},1E8:{other:"000 miljoen"},
1E9:{other:"0 miljard"},1E10:{other:"00 miljard"},1E11:{other:"000 miljard"},1E12:{other:"0 biljoen"},1E13:{other:"00 biljoen"},1E14:{other:"000 biljoen"}}};goog.i18n.CompactNumberFormatSymbols_af_ZA=goog.i18n.CompactNumberFormatSymbols_af;
goog.i18n.CompactNumberFormatSymbols_am={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u123a"},1E4:{other:"00\u00a0\u123a"},1E5:{other:"000\u00a0\u123a"},1E6:{other:"0\u00a0\u121c\u1275\u122d"},1E7:{other:"00\u00a0\u121c\u1275\u122d"},1E8:{other:"000\u00a0\u121c\u1275\u122d"},1E9:{other:"0\u00a0\u1262"},1E10:{other:"00\u00a0\u1262"},1E11:{other:"000\u00a0\u1262"},1E12:{other:"0\u00a0\u1275"},1E13:{other:"00\u00a0\u1275"},1E14:{other:"000\u00a0\u1275"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u123a"},
1E4:{other:"00 \u123a"},1E5:{other:"000 \u123a"},1E6:{other:"0 \u121a\u120a\u12ee\u1295"},1E7:{other:"00 \u121a\u120a\u12ee\u1295"},1E8:{other:"000 \u121a\u120a\u12ee\u1295"},1E9:{other:"0 \u1262\u120a\u12ee\u1295"},1E10:{other:"00 \u1262\u120a\u12ee\u1295"},1E11:{other:"000 \u1262\u120a\u12ee\u1295"},1E12:{other:"0 \u1275\u122a\u120a\u12ee\u1295"},1E13:{other:"00 \u1275\u122a\u120a\u12ee\u1295"},1E14:{other:"000 \u1275\u122a\u120a\u12ee\u1295"}}};goog.i18n.CompactNumberFormatSymbols_am_ET=goog.i18n.CompactNumberFormatSymbols_am;
goog.i18n.CompactNumberFormatSymbols_ar={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u0623\u0644\u0641"},1E4:{other:"00\u00a0\u0623\u0644\u0641"},1E5:{other:"000\u00a0\u0623\u0644\u0641"},1E6:{other:"0\u00a0\u0645\u0644\u064a\u0648"},1E7:{other:"00\u00a0\u0645\u0644\u064a\u0648"},1E8:{other:"000\u00a0\u0645\u0644\u064a\u0648"},1E9:{other:"0\u00a0\u0628\u0644\u064a\u0648"},1E10:{other:"00\u00a0\u0628\u0644\u064a\u0648"},1E11:{other:"000\u00a0\u0628\u0644\u064a\u0648"},1E12:{other:"0\u00a0\u062a\u0631\u0644\u064a\u0648"},
1E13:{other:"00\u00a0\u062a\u0631\u0644\u064a\u0648"},1E14:{other:"000\u00a0\u062a\u0631\u0644\u064a\u0648"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0623\u0644\u0641"},1E4:{other:"00 \u0623\u0644\u0641"},1E5:{other:"000 \u0623\u0644\u0641"},1E6:{other:"0 \u0645\u0644\u064a\u0648\u0646"},1E7:{other:"00 \u0645\u0644\u064a\u0648\u0646"},1E8:{other:"000 \u0645\u0644\u064a\u0648\u0646"},1E9:{other:"0 \u0628\u0644\u064a\u0648\u0646"},1E10:{other:"00 \u0628\u0644\u064a\u0648\u0646"},1E11:{other:"000 \u0628\u0644\u064a\u0648\u0646"},
1E12:{other:"0 \u062a\u0631\u064a\u0644\u064a\u0648\u0646"},1E13:{other:"00 \u062a\u0631\u064a\u0644\u064a\u0648\u0646"},1E14:{other:"000 \u062a\u0631\u064a\u0644\u064a\u0648\u0646"}}};goog.i18n.CompactNumberFormatSymbols_ar_001=goog.i18n.CompactNumberFormatSymbols_ar;
goog.i18n.CompactNumberFormatSymbols_bg={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u0445\u0438\u043b."},1E4:{other:"00\u00a0\u0445\u0438\u043b."},1E5:{other:"000\u00a0\u0445\u0438\u043b."},1E6:{other:"0\u00a0\u043c\u043b\u043d."},1E7:{other:"00\u00a0\u043c\u043b\u043d."},1E8:{other:"000\u00a0\u043c\u043b\u043d."},1E9:{other:"0\u00a0\u043c\u043b\u0440\u0434."},1E10:{other:"00\u00a0\u043c\u043b\u0440\u0434."},1E11:{other:"000\u00a0\u043c\u043b\u0440\u0434."},1E12:{other:"0\u00a0\u0442\u0440\u043b\u043d."},
1E13:{other:"00\u00a0\u0442\u0440\u043b\u043d."},1E14:{other:"000\u00a0\u0442\u0440\u043b\u043d."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0445\u0438\u043b\u044f\u0434\u0438"},1E4:{other:"00 \u0445\u0438\u043b\u044f\u0434\u0438"},1E5:{other:"000 \u0445\u0438\u043b\u044f\u0434\u0438"},1E6:{other:"0 \u043c\u0438\u043b\u0438\u043e\u043d\u0430"},1E7:{other:"00 \u043c\u0438\u043b\u0438\u043e\u043d\u0430"},1E8:{other:"000 \u043c\u0438\u043b\u0438\u043e\u043d\u0430"},1E9:{other:"0 \u043c\u0438\u043b\u0438\u0430\u0440\u0434\u0430"},
1E10:{other:"00 \u043c\u0438\u043b\u0438\u0430\u0440\u0434\u0430"},1E11:{other:"000 \u043c\u0438\u043b\u0438\u0430\u0440\u0434\u0430"},1E12:{other:"0 \u0442\u0440\u0438\u043b\u0438\u043e\u043d\u0430"},1E13:{other:"00 \u0442\u0440\u0438\u043b\u0438\u043e\u043d\u0430"},1E14:{other:"000 \u0442\u0440\u0438\u043b\u0438\u043e\u043d\u0430"}}};goog.i18n.CompactNumberFormatSymbols_bg_BG=goog.i18n.CompactNumberFormatSymbols_bg;
goog.i18n.CompactNumberFormatSymbols_bn={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"0\u00a0\u09b2\u09be\u0996"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u09b9\u09be\u099c\u09be\u09b0"},1E4:{other:"00 \u09b9\u09be\u099c\u09be\u09b0"},1E5:{other:"0 \u09b2\u09be\u0996"},1E6:{other:"0 \u09ae\u09bf\u09b2\u09bf\u09af\u09bc\u09a8"},
1E7:{other:"00 \u09ae\u09bf\u09b2\u09bf\u09af\u09bc\u09a8"},1E8:{other:"000 \u09ae\u09bf\u09b2\u09bf\u09af\u09bc\u09a8"},1E9:{other:"0 \u09ac\u09bf\u09b2\u09bf\u09af\u09bc\u09a8"},1E10:{other:"00 \u09ac\u09bf\u09b2\u09bf\u09af\u09bc\u09a8"},1E11:{other:"000 \u09ac\u09bf\u09b2\u09bf\u09af\u09bc\u09a8"},1E12:{other:"0 \u099f\u09cd\u09b0\u09bf\u09b2\u09bf\u09af\u09bc\u09a8"},1E13:{other:"00 \u099f\u09cd\u09b0\u09bf\u09b2\u09bf\u09af\u09bc\u09a8"},1E14:{other:"000 \u099f\u09cd\u09b0\u09bf\u09b2\u09bf\u09af\u09bc\u09a8"}}};
goog.i18n.CompactNumberFormatSymbols_bn_BD=goog.i18n.CompactNumberFormatSymbols_bn;goog.i18n.CompactNumberFormatSymbols_br={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0G"},1E10:{other:"00G"},1E11:{other:"000G"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}}};goog.i18n.CompactNumberFormatSymbols_br_FR=goog.i18n.CompactNumberFormatSymbols_br;
goog.i18n.CompactNumberFormatSymbols_ca={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0m"},1E4:{other:"00m"},1E5:{other:"000m"},1E6:{other:"0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0000\u00a0M"},1E10:{other:"00mM"},1E11:{other:"000mM"},1E12:{other:"0B"},1E13:{other:"00\u00a0B"},1E14:{other:"000\u00a0B"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 milers"},1E4:{other:"00 milers"},1E5:{other:"000 milers"},1E6:{other:"0 milions"},1E7:{other:"00 milions"},1E8:{other:"000 milions"},
1E9:{other:"0 milers de milions"},1E10:{other:"00 milers de milions"},1E11:{other:"000 milers de milions"},1E12:{other:"0 bilions"},1E13:{other:"00 bilions"},1E14:{other:"000 bilions"}}};goog.i18n.CompactNumberFormatSymbols_ca_AD=goog.i18n.CompactNumberFormatSymbols_ca;goog.i18n.CompactNumberFormatSymbols_ca_ES=goog.i18n.CompactNumberFormatSymbols_ca;goog.i18n.CompactNumberFormatSymbols_ca_FR=goog.i18n.CompactNumberFormatSymbols_ca;goog.i18n.CompactNumberFormatSymbols_ca_IT=goog.i18n.CompactNumberFormatSymbols_ca;
goog.i18n.CompactNumberFormatSymbols_chr={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0G"},1E10:{other:"00G"},1E11:{other:"000G"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}}};goog.i18n.CompactNumberFormatSymbols_chr_US=goog.i18n.CompactNumberFormatSymbols_chr;
goog.i18n.CompactNumberFormatSymbols_cs={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0tis."},1E4:{other:"00\u00a0tis."},1E5:{other:"000\u00a0tis."},1E6:{other:"0\u00a0mil."},1E7:{other:"00\u00a0mil."},1E8:{other:"000\u00a0mil."},1E9:{other:"0\u00a0mld."},1E10:{other:"00\u00a0mld."},1E11:{other:"000\u00a0mld."},1E12:{other:"0\u00a0bil."},1E13:{other:"00\u00a0bil."},1E14:{other:"000\u00a0bil."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tis\u00edc"},1E4:{other:"00 tis\u00edc"},1E5:{other:"000 tis\u00edc"},
1E6:{other:"0 milion\u016f"},1E7:{other:"00 milion\u016f"},1E8:{other:"000 milion\u016f"},1E9:{other:"0 miliard"},1E10:{other:"00 miliard"},1E11:{other:"000 miliard"},1E12:{other:"0 bilion\u016f"},1E13:{other:"00 bilion\u016f"},1E14:{other:"000 bilion\u016f"}}};goog.i18n.CompactNumberFormatSymbols_cs_CZ=goog.i18n.CompactNumberFormatSymbols_cs;
goog.i18n.CompactNumberFormatSymbols_cy={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 mil"},1E4:{other:"00 mil"},1E5:{other:"000 mil"},1E6:{other:"0 miliwn"},1E7:{other:"00 miliwn"},1E8:{other:"000 miliwn"},1E9:{other:"0 biliwn"},1E10:{other:"00 biliwn"},
1E11:{other:"000 biliwn"},1E12:{other:"0 triliwn"},1E13:{other:"00 triliwn"},1E14:{other:"000 triliwn"}}};goog.i18n.CompactNumberFormatSymbols_cy_GB=goog.i18n.CompactNumberFormatSymbols_cy;
goog.i18n.CompactNumberFormatSymbols_da={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0td"},1E4:{other:"00\u00a0td"},1E5:{other:"000\u00a0td"},1E6:{other:"0\u00a0mio"},1E7:{other:"00\u00a0mio"},1E8:{other:"000\u00a0mio"},1E9:{other:"0\u00a0mia"},1E10:{other:"00\u00a0mia"},1E11:{other:"000\u00a0mia"},1E12:{other:"0\u00a0bill"},1E13:{other:"00\u00a0bill"},1E14:{other:"000\u00a0bill"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tusind"},1E4:{other:"00 tusind"},1E5:{other:"000 tusind"},1E6:{other:"0 millioner"},
1E7:{other:"00 millioner"},1E8:{other:"000 millioner"},1E9:{other:"0 milliarder"},1E10:{other:"00 milliarder"},1E11:{other:"000 milliarder"},1E12:{other:"0 billioner"},1E13:{other:"00 billioner"},1E14:{other:"000 billioner"}}};goog.i18n.CompactNumberFormatSymbols_da_DK=goog.i18n.CompactNumberFormatSymbols_da;goog.i18n.CompactNumberFormatSymbols_da_GL=goog.i18n.CompactNumberFormatSymbols_da;
goog.i18n.CompactNumberFormatSymbols_de={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0Tsd"},1E4:{other:"00\u00a0Tsd"},1E5:{other:"000\u00a0Tsd"},1E6:{other:"0\u00a0Mio"},1E7:{other:"00\u00a0Mio"},1E8:{other:"000\u00a0Mio"},1E9:{other:"0\u00a0Mrd"},1E10:{other:"00\u00a0Mrd"},1E11:{other:"000\u00a0Mrd"},1E12:{other:"0\u00a0Bio"},1E13:{other:"00\u00a0Bio"},1E14:{other:"000\u00a0Bio"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 Tausend"},1E4:{other:"00 Tausend"},1E5:{other:"000 Tausend"},1E6:{other:"0 Millionen"},
1E7:{other:"00 Millionen"},1E8:{other:"000 Millionen"},1E9:{other:"0 Milliarden"},1E10:{other:"00 Milliarden"},1E11:{other:"000 Milliarden"},1E12:{other:"0 Billionen"},1E13:{other:"00 Billionen"},1E14:{other:"000 Billionen"}}};
goog.i18n.CompactNumberFormatSymbols_de_AT={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0Tsd"},1E4:{other:"00\u00a0Tsd"},1E5:{other:"000\u00a0Tsd"},1E6:{other:"0\u00a0Mio"},1E7:{other:"00\u00a0Mio"},1E8:{other:"000\u00a0Mio"},1E9:{other:"0\u00a0Mrd"},1E10:{other:"00\u00a0Mrd"},1E11:{other:"000\u00a0Mrd"},1E12:{other:"0\u00a0Bio"},1E13:{other:"00\u00a0Bio"},1E14:{other:"000\u00a0Bio"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 Tausend"},1E4:{other:"00 Tausend"},1E5:{other:"000 Tausend"},1E6:{other:"0 Millionen"},
1E7:{other:"00 Millionen"},1E8:{other:"000 Millionen"},1E9:{other:"0 Milliarden"},1E10:{other:"00 Milliarden"},1E11:{other:"000 Milliarden"},1E12:{other:"0 Billionen"},1E13:{other:"00 Billionen"},1E14:{other:"000 Billionen"}}};goog.i18n.CompactNumberFormatSymbols_de_BE=goog.i18n.CompactNumberFormatSymbols_de;
goog.i18n.CompactNumberFormatSymbols_de_CH={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0Tsd"},1E4:{other:"00\u00a0Tsd"},1E5:{other:"000\u00a0Tsd"},1E6:{other:"0\u00a0Mio"},1E7:{other:"00\u00a0Mio"},1E8:{other:"000\u00a0Mio"},1E9:{other:"0\u00a0Mrd"},1E10:{other:"00\u00a0Mrd"},1E11:{other:"000\u00a0Mrd"},1E12:{other:"0\u00a0Bio"},1E13:{other:"00\u00a0Bio"},1E14:{other:"000\u00a0Bio"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 Tausend"},1E4:{other:"00 Tausend"},1E5:{other:"000 Tausend"},1E6:{other:"0 Millionen"},
1E7:{other:"00 Millionen"},1E8:{other:"000 Millionen"},1E9:{other:"0 Milliarden"},1E10:{other:"00 Milliarden"},1E11:{other:"000 Milliarden"},1E12:{other:"0 Billionen"},1E13:{other:"00 Billionen"},1E14:{other:"000 Billionen"}}};goog.i18n.CompactNumberFormatSymbols_de_DE=goog.i18n.CompactNumberFormatSymbols_de;goog.i18n.CompactNumberFormatSymbols_de_LU=goog.i18n.CompactNumberFormatSymbols_de;
goog.i18n.CompactNumberFormatSymbols_el={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u03c7\u03b9\u03bb."},1E4:{other:"00\u00a0\u03c7\u03b9\u03bb."},1E5:{other:"000\u00a0\u03c7\u03b9\u03bb."},1E6:{other:"0\u00a0\u03b5\u03ba."},1E7:{other:"00\u00a0\u03b5\u03ba."},1E8:{other:"000\u00a0\u03b5\u03ba."},1E9:{other:"0\u00a0\u03b4\u03b9\u03c3."},1E10:{other:"00\u00a0\u03b4\u03b9\u03c3."},1E11:{other:"000\u00a0\u03b4\u03b9\u03c3."},1E12:{other:"0\u00a0\u03c4\u03c1\u03b9\u03c3."},1E13:{other:"00\u00a0\u03c4\u03c1\u03b9\u03c3."},
1E14:{other:"000\u00a0\u03c4\u03c1\u03b9\u03c3."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u03c7\u03b9\u03bb\u03b9\u03ac\u03b4\u03b5\u03c2"},1E4:{other:"00 \u03c7\u03b9\u03bb\u03b9\u03ac\u03b4\u03b5\u03c2"},1E5:{other:"000 \u03c7\u03b9\u03bb\u03b9\u03ac\u03b4\u03b5\u03c2"},1E6:{other:"0 \u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1"},1E7:{other:"00 \u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1"},1E8:{other:"000 \u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1"},
1E9:{other:"0 \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1"},1E10:{other:"00 \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1"},1E11:{other:"000 \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1"},1E12:{other:"0 \u03c4\u03c1\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1"},1E13:{other:"00 \u03c4\u03c1\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1"},
1E14:{other:"000 \u03c4\u03c1\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1"}}};goog.i18n.CompactNumberFormatSymbols_el_GR=goog.i18n.CompactNumberFormatSymbols_el;
goog.i18n.CompactNumberFormatSymbols_en={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 thousand"},1E4:{other:"00 thousand"},1E5:{other:"000 thousand"},1E6:{other:"0 million"},1E7:{other:"00 million"},1E8:{other:"000 million"},1E9:{other:"0 billion"},
1E10:{other:"00 billion"},1E11:{other:"000 billion"},1E12:{other:"0 trillion"},1E13:{other:"00 trillion"},1E14:{other:"000 trillion"}}};goog.i18n.CompactNumberFormatSymbols_en_001=goog.i18n.CompactNumberFormatSymbols_en;goog.i18n.CompactNumberFormatSymbols_en_AS=goog.i18n.CompactNumberFormatSymbols_en;
goog.i18n.CompactNumberFormatSymbols_en_AU={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 thousand"},1E4:{other:"00 thousand"},1E5:{other:"000 thousand"},1E6:{other:"0 million"},1E7:{other:"00 million"},1E8:{other:"000 million"},1E9:{other:"0 billion"},
1E10:{other:"00 billion"},1E11:{other:"000 billion"},1E12:{other:"0 trillion"},1E13:{other:"00 trillion"},1E14:{other:"000 trillion"}}};goog.i18n.CompactNumberFormatSymbols_en_DG=goog.i18n.CompactNumberFormatSymbols_en;goog.i18n.CompactNumberFormatSymbols_en_Dsrt_US=goog.i18n.CompactNumberFormatSymbols_en;goog.i18n.CompactNumberFormatSymbols_en_FM=goog.i18n.CompactNumberFormatSymbols_en;
goog.i18n.CompactNumberFormatSymbols_en_GB={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 thousand"},1E4:{other:"00 thousand"},1E5:{other:"000 thousand"},1E6:{other:"0 million"},1E7:{other:"00 million"},1E8:{other:"000 million"},1E9:{other:"0 billion"},
1E10:{other:"00 billion"},1E11:{other:"000 billion"},1E12:{other:"0 trillion"},1E13:{other:"00 trillion"},1E14:{other:"000 trillion"}}};goog.i18n.CompactNumberFormatSymbols_en_GU=goog.i18n.CompactNumberFormatSymbols_en;
goog.i18n.CompactNumberFormatSymbols_en_IE={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 thousand"},1E4:{other:"00 thousand"},1E5:{other:"000 thousand"},1E6:{other:"0 million"},1E7:{other:"00 million"},1E8:{other:"000 million"},1E9:{other:"0 billion"},
1E10:{other:"00 billion"},1E11:{other:"000 billion"},1E12:{other:"0 trillion"},1E13:{other:"00 trillion"},1E14:{other:"000 trillion"}}};
goog.i18n.CompactNumberFormatSymbols_en_IN={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 thousand"},1E4:{other:"00 thousand"},1E5:{other:"000 thousand"},1E6:{other:"0 million"},1E7:{other:"00 million"},1E8:{other:"000 million"},1E9:{other:"0 billion"},
1E10:{other:"00 billion"},1E11:{other:"000 billion"},1E12:{other:"0 trillion"},1E13:{other:"00 trillion"},1E14:{other:"000 trillion"}}};goog.i18n.CompactNumberFormatSymbols_en_IO=goog.i18n.CompactNumberFormatSymbols_en;goog.i18n.CompactNumberFormatSymbols_en_MH=goog.i18n.CompactNumberFormatSymbols_en;goog.i18n.CompactNumberFormatSymbols_en_MP=goog.i18n.CompactNumberFormatSymbols_en;goog.i18n.CompactNumberFormatSymbols_en_PR=goog.i18n.CompactNumberFormatSymbols_en;
goog.i18n.CompactNumberFormatSymbols_en_PW=goog.i18n.CompactNumberFormatSymbols_en;
goog.i18n.CompactNumberFormatSymbols_en_SG={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 thousand"},1E4:{other:"00 thousand"},1E5:{other:"000 thousand"},1E6:{other:"0 million"},1E7:{other:"00 million"},1E8:{other:"000 million"},1E9:{other:"0 billion"},
1E10:{other:"00 billion"},1E11:{other:"000 billion"},1E12:{other:"0 trillion"},1E13:{other:"00 trillion"},1E14:{other:"000 trillion"}}};goog.i18n.CompactNumberFormatSymbols_en_TC=goog.i18n.CompactNumberFormatSymbols_en;goog.i18n.CompactNumberFormatSymbols_en_UM=goog.i18n.CompactNumberFormatSymbols_en;goog.i18n.CompactNumberFormatSymbols_en_US=goog.i18n.CompactNumberFormatSymbols_en;goog.i18n.CompactNumberFormatSymbols_en_VG=goog.i18n.CompactNumberFormatSymbols_en;
goog.i18n.CompactNumberFormatSymbols_en_VI=goog.i18n.CompactNumberFormatSymbols_en;
goog.i18n.CompactNumberFormatSymbols_en_ZA={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 thousand"},1E4:{other:"00 thousand"},1E5:{other:"000 thousand"},1E6:{other:"0 million"},1E7:{other:"00 million"},1E8:{other:"000 million"},1E9:{other:"0 billion"},
1E10:{other:"00 billion"},1E11:{other:"000 billion"},1E12:{other:"0 trillion"},1E13:{other:"00 trillion"},1E14:{other:"000 trillion"}}};goog.i18n.CompactNumberFormatSymbols_en_ZW=goog.i18n.CompactNumberFormatSymbols_en;
goog.i18n.CompactNumberFormatSymbols_es={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0000\u00a0M"},1E10:{other:"00MRD"},1E11:{other:"000MRD"},1E12:{other:"0B"},1E13:{other:"00B"},1E14:{other:"000B"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 mil"},1E4:{other:"00 mil"},1E5:{other:"000 mil"},1E6:{other:"0 millones"},1E7:{other:"00 millones"},1E8:{other:"000 millones"},1E9:{other:"0 mil millones"},
1E10:{other:"00 mil millones"},1E11:{other:"000 mil millones"},1E12:{other:"0 billones"},1E13:{other:"00 billones"},1E14:{other:"000 billones"}}};
goog.i18n.CompactNumberFormatSymbols_es_419={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0"},1E4:{other:"00k"},1E5:{other:"000k"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0k\u00a0M"},1E10:{other:"00k\u00a0M"},1E11:{other:"000k\u00a0M"},1E12:{other:"0\u00a0B"},1E13:{other:"00\u00a0B"},1E14:{other:"000\u00a0B"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 mil"},1E4:{other:"00 mil"},1E5:{other:"000 mil"},1E6:{other:"0 millones"},1E7:{other:"00 millones"},1E8:{other:"000 millones"},
1E9:{other:"0 mil millones"},1E10:{other:"00 mil millones"},1E11:{other:"000 mil millones"},1E12:{other:"0 billones"},1E13:{other:"00 billones"},1E14:{other:"000 billones"}}};goog.i18n.CompactNumberFormatSymbols_es_EA=goog.i18n.CompactNumberFormatSymbols_es;goog.i18n.CompactNumberFormatSymbols_es_ES=goog.i18n.CompactNumberFormatSymbols_es;goog.i18n.CompactNumberFormatSymbols_es_IC=goog.i18n.CompactNumberFormatSymbols_es;
goog.i18n.CompactNumberFormatSymbols_et={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0tuh"},1E4:{other:"00\u00a0tuh"},1E5:{other:"000\u00a0tuh"},1E6:{other:"0\u00a0mln"},1E7:{other:"00\u00a0mln"},1E8:{other:"000\u00a0mln"},1E9:{other:"0\u00a0mld"},1E10:{other:"00\u00a0mld"},1E11:{other:"000\u00a0mld"},1E12:{other:"0\u00a0trl"},1E13:{other:"00\u00a0trl"},1E14:{other:"000\u00a0trl"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tuhat"},1E4:{other:"00 tuhat"},1E5:{other:"000 tuhat"},1E6:{other:"0 miljonit"},
1E7:{other:"00 miljonit"},1E8:{other:"000 miljonit"},1E9:{other:"0 miljardit"},1E10:{other:"00 miljardit"},1E11:{other:"000 miljardit"},1E12:{other:"0 triljonit"},1E13:{other:"00 triljonit"},1E14:{other:"000 triljonit"}}};goog.i18n.CompactNumberFormatSymbols_et_EE=goog.i18n.CompactNumberFormatSymbols_et;
goog.i18n.CompactNumberFormatSymbols_eu={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0000"},1E4:{other:"00000"},1E5:{other:"000000"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0000\u00a0M"},1E10:{other:"00000\u00a0M"},1E11:{other:"000000\u00a0M"},1E12:{other:"0\u00a0B"},1E13:{other:"00\u00a0B"},1E14:{other:"000\u00a0B"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0000"},1E4:{other:"00000"},1E5:{other:"000000"},1E6:{other:"0 milioi"},1E7:{other:"00 milioi"},1E8:{other:"000 milioi"},
1E9:{other:"0000 milioi"},1E10:{other:"00000 milioi"},1E11:{other:"000000 milioi"},1E12:{other:"0 bilioi"},1E13:{other:"00 bilioi"},1E14:{other:"000 bilioi"}}};goog.i18n.CompactNumberFormatSymbols_eu_ES=goog.i18n.CompactNumberFormatSymbols_eu;
goog.i18n.CompactNumberFormatSymbols_fa={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0G"},1E10:{other:"00G"},1E11:{other:"000G"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0647\u0632\u0627\u0631"},1E4:{other:"00 \u0647\u0632\u0627\u0631"},1E5:{other:"000 \u0647\u0632\u0627\u0631"},1E6:{other:"0 \u0645\u06cc\u0644\u06cc\u0648\u0646"},
1E7:{other:"00 \u0645\u06cc\u0644\u06cc\u0648\u0646"},1E8:{other:"000 \u0645\u06cc\u0644\u06cc\u0648\u0646"},1E9:{other:"0 \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f"},1E10:{other:"00 \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f"},1E11:{other:"000 \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f"},1E12:{other:"0 \u0647\u0632\u0627\u0631 \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f"},1E13:{other:"00 \u0647\u0632\u0627\u0631 \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f"},1E14:{other:"000 \u0647\u0632\u0627\u0631 \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f"}}};
goog.i18n.CompactNumberFormatSymbols_fa_IR=goog.i18n.CompactNumberFormatSymbols_fa;
goog.i18n.CompactNumberFormatSymbols_fi={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0t."},1E4:{other:"00\u00a0t."},1E5:{other:"000\u00a0t."},1E6:{other:"0\u00a0milj."},1E7:{other:"00\u00a0milj."},1E8:{other:"000\u00a0milj."},1E9:{other:"0\u00a0mrd."},1E10:{other:"00\u00a0mrd."},1E11:{other:"000\u00a0mrd."},1E12:{other:"0\u00a0bilj."},1E13:{other:"00\u00a0bilj."},1E14:{other:"000\u00a0bilj."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tuhatta"},1E4:{other:"00 tuhatta"},1E5:{other:"000 tuhatta"},
1E6:{other:"0 miljoonaa"},1E7:{other:"00 miljoonaa"},1E8:{other:"000 miljoonaa"},1E9:{other:"0 miljardia"},1E10:{other:"00 miljardia"},1E11:{other:"000 miljardia"},1E12:{other:"0 biljoonaa"},1E13:{other:"00 biljoonaa"},1E14:{other:"000 biljoonaa"}}};goog.i18n.CompactNumberFormatSymbols_fi_FI=goog.i18n.CompactNumberFormatSymbols_fi;
goog.i18n.CompactNumberFormatSymbols_fil={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 libo"},1E4:{other:"00 libo"},1E5:{other:"000 libo"},1E6:{other:"0 milyon"},1E7:{other:"00 milyon"},1E8:{other:"000 milyon"},1E9:{other:"0 bilyon"},1E10:{other:"00 bilyon"},
1E11:{other:"000 bilyon"},1E12:{other:"0 trilyon"},1E13:{other:"00 trilyon"},1E14:{other:"000 trilyon"}}};goog.i18n.CompactNumberFormatSymbols_fil_PH=goog.i18n.CompactNumberFormatSymbols_fil;
goog.i18n.CompactNumberFormatSymbols_fr={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0k"},1E4:{other:"00\u00a0k"},1E5:{other:"000\u00a0k"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0\u00a0Md"},1E10:{other:"00\u00a0Md"},1E11:{other:"000\u00a0Md"},1E12:{other:"0\u00a0Bn"},1E13:{other:"00\u00a0Bn"},1E14:{other:"000\u00a0Bn"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 mille"},1E4:{other:"00 mille"},1E5:{other:"000 mille"},1E6:{other:"0 millions"},1E7:{other:"00 millions"},
1E8:{other:"000 millions"},1E9:{other:"0 milliards"},1E10:{other:"00 milliards"},1E11:{other:"000 milliards"},1E12:{other:"0 billions"},1E13:{other:"00 billions"},1E14:{other:"000 billions"}}};goog.i18n.CompactNumberFormatSymbols_fr_BL=goog.i18n.CompactNumberFormatSymbols_fr;
goog.i18n.CompactNumberFormatSymbols_fr_CA={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0k"},1E4:{other:"00\u00a0k"},1E5:{other:"000\u00a0k"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0\u00a0Md"},1E10:{other:"00\u00a0Md"},1E11:{other:"000\u00a0Md"},1E12:{other:"0\u00a0Bn"},1E13:{other:"00\u00a0Bn"},1E14:{other:"000\u00a0Bn"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 mille"},1E4:{other:"00 mille"},1E5:{other:"000 mille"},1E6:{other:"0 millions"},1E7:{other:"00 millions"},
1E8:{other:"000 millions"},1E9:{other:"0 milliards"},1E10:{other:"00 milliards"},1E11:{other:"000 milliards"},1E12:{other:"0 billions"},1E13:{other:"00 billions"},1E14:{other:"000 billions"}}};goog.i18n.CompactNumberFormatSymbols_fr_FR=goog.i18n.CompactNumberFormatSymbols_fr;goog.i18n.CompactNumberFormatSymbols_fr_GF=goog.i18n.CompactNumberFormatSymbols_fr;goog.i18n.CompactNumberFormatSymbols_fr_GP=goog.i18n.CompactNumberFormatSymbols_fr;goog.i18n.CompactNumberFormatSymbols_fr_MC=goog.i18n.CompactNumberFormatSymbols_fr;
goog.i18n.CompactNumberFormatSymbols_fr_MF=goog.i18n.CompactNumberFormatSymbols_fr;goog.i18n.CompactNumberFormatSymbols_fr_MQ=goog.i18n.CompactNumberFormatSymbols_fr;goog.i18n.CompactNumberFormatSymbols_fr_PM=goog.i18n.CompactNumberFormatSymbols_fr;goog.i18n.CompactNumberFormatSymbols_fr_RE=goog.i18n.CompactNumberFormatSymbols_fr;goog.i18n.CompactNumberFormatSymbols_fr_YT=goog.i18n.CompactNumberFormatSymbols_fr;
goog.i18n.CompactNumberFormatSymbols_gl={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0k\u00a0M"},1E10:{other:"00k\u00a0M"},1E11:{other:"000k\u00a0M"},1E12:{other:"0\u00a0B"},1E13:{other:"00\u00a0B"},1E14:{other:"000\u00a0B"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 mil"},1E4:{other:"00 mil"},1E5:{other:"000 mil"},1E6:{other:"0 mill\u00f3ns"},1E7:{other:"00 mill\u00f3ns"},1E8:{other:"000 mill\u00f3ns"},
1E9:{other:"0 mil mill\u00f3ns"},1E10:{other:"00 mil mill\u00f3ns"},1E11:{other:"000 mil mill\u00f3ns"},1E12:{other:"0 bill\u00f3ns"},1E13:{other:"00 bill\u00f3ns"},1E14:{other:"000 bill\u00f3ns"}}};goog.i18n.CompactNumberFormatSymbols_gl_ES=goog.i18n.CompactNumberFormatSymbols_gl;
goog.i18n.CompactNumberFormatSymbols_gsw={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0tsd"},1E4:{other:"00\u00a0tsd"},1E5:{other:"000\u00a0tsd"},1E6:{other:"0\u00a0Mio"},1E7:{other:"00\u00a0Mio"},1E8:{other:"000\u00a0Mio"},1E9:{other:"0\u00a0Mrd"},1E10:{other:"00\u00a0Mrd"},1E11:{other:"000\u00a0Mrd"},1E12:{other:"0\u00a0Bio"},1E13:{other:"00\u00a0Bio"},1E14:{other:"000\u00a0Bio"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tausend"},1E4:{other:"00 tausend"},1E5:{other:"000 tausend"},1E6:{other:"0 Millionen"},
1E7:{other:"00 Millionen"},1E8:{other:"000 Millionen"},1E9:{other:"0 Milliarden"},1E10:{other:"00 Milliarden"},1E11:{other:"000 Milliarden"},1E12:{other:"0 Billionen"},1E13:{other:"00 Billionen"},1E14:{other:"000 Billionen"}}};goog.i18n.CompactNumberFormatSymbols_gsw_CH=goog.i18n.CompactNumberFormatSymbols_gsw;goog.i18n.CompactNumberFormatSymbols_gsw_LI=goog.i18n.CompactNumberFormatSymbols_gsw;
goog.i18n.CompactNumberFormatSymbols_gu={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u0ab9\u0a9c\u0abe\u0ab0"},1E4:{other:"00\u00a0\u0ab9\u0a9c\u0abe\u0ab0"},1E5:{other:"0\u00a0\u0ab2\u0abe\u0a96"},1E6:{other:"00\u00a0\u0ab2\u0abe\u0a96"},1E7:{other:"0\u00a0\u0a95\u0ab0\u0acb\u0aa1"},1E8:{other:"00\u00a0\u0a95\u0ab0\u0acb\u0aa1"},1E9:{other:"0\u00a0\u0a85\u0aac\u0a9c"},1E10:{other:"00\u00a0\u0a85\u0aac\u0a9c"},1E11:{other:"0\u00a0\u0aa8\u0abf\u0a96\u0ab0\u0acd\u0ab5"},1E12:{other:"0\u00a0\u0aae\u0ab9\u0abe\u0aaa\u0aa6\u0acd\u0aae"},
1E13:{other:"0\u00a0\u0ab6\u0a82\u0a95\u0ac1"},1E14:{other:"0\u00a0\u0a9c\u0ab2\u0aa7\u0abf"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0ab9\u0a9c\u0abe\u0ab0"},1E4:{other:"00 \u0ab9\u0a9c\u0abe\u0ab0"},1E5:{other:"0 \u0ab2\u0abe\u0a96"},1E6:{other:"00 \u0ab2\u0abe\u0a96"},1E7:{other:"0 \u0a95\u0ab0\u0acb\u0aa1"},1E8:{other:"00 \u0a95\u0ab0\u0acb\u0aa1"},1E9:{other:"0 \u0a85\u0aac\u0a9c"},1E10:{other:"00 \u0a85\u0aac\u0a9c"},1E11:{other:"0 \u0aa8\u0abf\u0a96\u0ab0\u0acd\u0ab5"},1E12:{other:"0 \u0aae\u0ab9\u0abe\u0aaa\u0aa6\u0acd\u0aae"},
1E13:{other:"0 \u0ab6\u0a82\u0a95\u0ac1"},1E14:{other:"0 \u0a9c\u0ab2\u0aa7\u0abf"}}};goog.i18n.CompactNumberFormatSymbols_gu_IN=goog.i18n.CompactNumberFormatSymbols_gu;goog.i18n.CompactNumberFormatSymbols_haw={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0G"},1E10:{other:"00G"},1E11:{other:"000G"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}}};
goog.i18n.CompactNumberFormatSymbols_haw_US=goog.i18n.CompactNumberFormatSymbols_haw;
goog.i18n.CompactNumberFormatSymbols_he={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"\u200f0\u00a0\u05d0\u05dc\u05e3"},1E4:{other:"\u200f00\u00a0\u05d0\u05dc\u05e3"},1E5:{other:"\u200f000\u00a0\u05d0\u05dc\u05e3"},1E6:{other:"\u200f0\u00a0\u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E7:{other:"\u200f00\u00a0\u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E8:{other:"\u200f000\u00a0\u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},
1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"\u200f0 \u05d0\u05dc\u05e3"},1E4:{other:"\u200f00 \u05d0\u05dc\u05e3"},1E5:{other:"\u200f000 \u05d0\u05dc\u05e3"},1E6:{other:"\u200f0 \u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E7:{other:"\u200f00 \u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E8:{other:"\u200f000 \u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E9:{other:"\u200f0 \u05de\u05d9\u05dc\u05d9\u05d0\u05e8\u05d3"},1E10:{other:"\u200f00 \u05de\u05d9\u05dc\u05d9\u05d0\u05e8\u05d3"},1E11:{other:"\u200f000 \u05de\u05d9\u05dc\u05d9\u05d0\u05e8\u05d3"},
1E12:{other:"\u200f0 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df"},1E13:{other:"\u200f00 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df"},1E14:{other:"\u200f000 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df"}}};goog.i18n.CompactNumberFormatSymbols_he_IL=goog.i18n.CompactNumberFormatSymbols_he;
goog.i18n.CompactNumberFormatSymbols_hi={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0"},1E4:{other:"0"},1E5:{other:"0L"},1E6:{other:"00L"},1E7:{other:"0Cr"},1E8:{other:"00Cr"},1E9:{other:"000Cr"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0939\u091c\u093c\u093e\u0930"},1E4:{other:"00 \u0939\u091c\u093c\u093e\u0930"},1E5:{other:"0 \u0932\u093e\u0916"},1E6:{other:"00 \u0932\u093e\u0916"},1E7:{other:"0 \u0915\u0930\u094b\u0921\u093c"},
1E8:{other:"00 \u0915\u0930\u094b\u0921\u093c"},1E9:{other:"0 \u0905\u0930\u092c"},1E10:{other:"00 \u0905\u0930\u092c"},1E11:{other:"0 \u0916\u0930\u092c"},1E12:{other:"00 \u0916\u0930\u092c"},1E13:{other:"000 \u0916\u0930\u092c"},1E14:{other:"0000 \u0916\u0930\u092c"}}};goog.i18n.CompactNumberFormatSymbols_hi_IN=goog.i18n.CompactNumberFormatSymbols_hi;
goog.i18n.CompactNumberFormatSymbols_hr={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0tis."},1E4:{other:"00\u00a0tis."},1E5:{other:"000\u00a0tis."},1E6:{other:"0\u00a0mil."},1E7:{other:"00\u00a0mil."},1E8:{other:"000\u00a0mil."},1E9:{other:"0\u00a0mlr."},1E10:{other:"00\u00a0mlr."},1E11:{other:"000\u00a0mlr."},1E12:{other:"0\u00a0bil."},1E13:{other:"00\u00a0bil."},1E14:{other:"000\u00a0bil."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tisu\u0107a"},1E4:{other:"00 tisu\u0107a"},1E5:{other:"000 tisu\u0107a"},
1E6:{other:"0 milijuna"},1E7:{other:"00 milijuna"},1E8:{other:"000 milijuna"},1E9:{other:"0 milijardi"},1E10:{other:"00 milijardi"},1E11:{other:"000 milijardi"},1E12:{other:"0 bilijuna"},1E13:{other:"00 bilijuna"},1E14:{other:"000 bilijuna"}}};goog.i18n.CompactNumberFormatSymbols_hr_HR=goog.i18n.CompactNumberFormatSymbols_hr;
goog.i18n.CompactNumberFormatSymbols_hu={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0E"},1E4:{other:"00\u00a0E"},1E5:{other:"000\u00a0E"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0\u00a0Mrd"},1E10:{other:"00\u00a0Mrd"},1E11:{other:"000\u00a0Mrd"},1E12:{other:"0\u00a0B"},1E13:{other:"00\u00a0B"},1E14:{other:"000\u00a0B"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 ezer"},1E4:{other:"00 ezer"},1E5:{other:"000 ezer"},1E6:{other:"0 milli\u00f3"},1E7:{other:"00 milli\u00f3"},
1E8:{other:"000 milli\u00f3"},1E9:{other:"0 milli\u00e1rd"},1E10:{other:"00 milli\u00e1rd"},1E11:{other:"000 milli\u00e1rd"},1E12:{other:"0 billi\u00f3"},1E13:{other:"00 billi\u00f3"},1E14:{other:"000 billi\u00f3"}}};goog.i18n.CompactNumberFormatSymbols_hu_HU=goog.i18n.CompactNumberFormatSymbols_hu;
goog.i18n.CompactNumberFormatSymbols_id={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0"},1E4:{other:"00\u00a0rb"},1E5:{other:"000\u00a0rb"},1E6:{other:"0\u00a0jt"},1E7:{other:"00\u00a0jt"},1E8:{other:"000\u00a0jt"},1E9:{other:"0\u00a0M"},1E10:{other:"00\u00a0M"},1E11:{other:"000\u00a0M"},1E12:{other:"0\u00a0T"},1E13:{other:"00\u00a0T"},1E14:{other:"000\u00a0T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 ribu"},1E4:{other:"00 ribu"},1E5:{other:"000 ribu"},1E6:{other:"0 juta"},1E7:{other:"00 juta"},
1E8:{other:"000 juta"},1E9:{other:"0 miliar"},1E10:{other:"00 miliar"},1E11:{other:"000 miliar"},1E12:{other:"0 triliun"},1E13:{other:"00 triliun"},1E14:{other:"000 triliun"}}};goog.i18n.CompactNumberFormatSymbols_id_ID=goog.i18n.CompactNumberFormatSymbols_id;
goog.i18n.CompactNumberFormatSymbols_in={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0"},1E4:{other:"00\u00a0rb"},1E5:{other:"000\u00a0rb"},1E6:{other:"0\u00a0jt"},1E7:{other:"00\u00a0jt"},1E8:{other:"000\u00a0jt"},1E9:{other:"0\u00a0M"},1E10:{other:"00\u00a0M"},1E11:{other:"000\u00a0M"},1E12:{other:"0\u00a0T"},1E13:{other:"00\u00a0T"},1E14:{other:"000\u00a0T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 ribu"},1E4:{other:"00 ribu"},1E5:{other:"000 ribu"},1E6:{other:"0 juta"},1E7:{other:"00 juta"},
1E8:{other:"000 juta"},1E9:{other:"0 miliar"},1E10:{other:"00 miliar"},1E11:{other:"000 miliar"},1E12:{other:"0 triliun"},1E13:{other:"00 triliun"},1E14:{other:"000 triliun"}}};
goog.i18n.CompactNumberFormatSymbols_is={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u00fe."},1E4:{other:"00\u00a0\u00fe."},1E5:{other:"000\u00a0\u00fe."},1E6:{other:"0\u00a0m."},1E7:{other:"00\u00a0m."},1E8:{other:"000\u00a0m."},1E9:{other:"0\u00a0ma."},1E10:{other:"00\u00a0ma."},1E11:{other:"000\u00a0ma."},1E12:{other:"0\u00a0bn"},1E13:{other:"00\u00a0bn"},1E14:{other:"000\u00a0bn"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u00fe\u00fasund"},1E4:{other:"00 \u00fe\u00fasund"},1E5:{other:"000 \u00fe\u00fasund"},
1E6:{other:"0 millj\u00f3nir"},1E7:{other:"00 millj\u00f3nir"},1E8:{other:"000 millj\u00f3nir"},1E9:{other:"0 milljar\u00f0ar"},1E10:{other:"00 milljar\u00f0ar"},1E11:{other:"000 milljar\u00f0ar"},1E12:{other:"0 billj\u00f3nir"},1E13:{other:"00 billj\u00f3nir"},1E14:{other:"000 billj\u00f3nir"}}};goog.i18n.CompactNumberFormatSymbols_is_IS=goog.i18n.CompactNumberFormatSymbols_is;
goog.i18n.CompactNumberFormatSymbols_it={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0"},1E4:{other:"0"},1E5:{other:"0"},1E6:{other:"0\u00a0Mln"},1E7:{other:"00\u00a0Mln"},1E8:{other:"000\u00a0Mln"},1E9:{other:"0\u00a0Mld"},1E10:{other:"00\u00a0Mld"},1E11:{other:"000\u00a0Mld"},1E12:{other:"0\u00a0Bln"},1E13:{other:"00\u00a0Bln"},1E14:{other:"000\u00a0Bln"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 migliaia"},1E4:{other:"00 migliaia"},1E5:{other:"000 migliaia"},1E6:{other:"0 milioni"},1E7:{other:"00 milioni"},
1E8:{other:"000 milioni"},1E9:{other:"0 miliardi"},1E10:{other:"00 miliardi"},1E11:{other:"000 miliardi"},1E12:{other:"0 bilioni"},1E13:{other:"00 bilioni"},1E14:{other:"000 bilioni"}}};goog.i18n.CompactNumberFormatSymbols_it_IT=goog.i18n.CompactNumberFormatSymbols_it;goog.i18n.CompactNumberFormatSymbols_it_SM=goog.i18n.CompactNumberFormatSymbols_it;
goog.i18n.CompactNumberFormatSymbols_iw={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"\u200f0\u00a0\u05d0\u05dc\u05e3"},1E4:{other:"\u200f00\u00a0\u05d0\u05dc\u05e3"},1E5:{other:"\u200f000\u00a0\u05d0\u05dc\u05e3"},1E6:{other:"\u200f0\u00a0\u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E7:{other:"\u200f00\u00a0\u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E8:{other:"\u200f000\u00a0\u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},
1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"\u200f0 \u05d0\u05dc\u05e3"},1E4:{other:"\u200f00 \u05d0\u05dc\u05e3"},1E5:{other:"\u200f000 \u05d0\u05dc\u05e3"},1E6:{other:"\u200f0 \u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E7:{other:"\u200f00 \u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E8:{other:"\u200f000 \u05de\u05d9\u05dc\u05d9\u05d5\u05df"},1E9:{other:"\u200f0 \u05de\u05d9\u05dc\u05d9\u05d0\u05e8\u05d3"},1E10:{other:"\u200f00 \u05de\u05d9\u05dc\u05d9\u05d0\u05e8\u05d3"},1E11:{other:"\u200f000 \u05de\u05d9\u05dc\u05d9\u05d0\u05e8\u05d3"},
1E12:{other:"\u200f0 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df"},1E13:{other:"\u200f00 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df"},1E14:{other:"\u200f000 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df"}}};
goog.i18n.CompactNumberFormatSymbols_ja={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u5343"},1E4:{other:"0\u4e07"},1E5:{other:"00\u4e07"},1E6:{other:"000\u4e07"},1E7:{other:"0000\u4e07"},1E8:{other:"0\u5104"},1E9:{other:"00\u5104"},1E10:{other:"000\u5104"},1E11:{other:"0000\u5104"},1E12:{other:"0\u5146"},1E13:{other:"00\u5146"},1E14:{other:"000\u5146"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0\u5343"},1E4:{other:"0\u4e07"},1E5:{other:"00\u4e07"},1E6:{other:"000\u4e07"},1E7:{other:"0000\u4e07"},
1E8:{other:"0\u5104"},1E9:{other:"00\u5104"},1E10:{other:"000\u5104"},1E11:{other:"0000\u5104"},1E12:{other:"0\u5146"},1E13:{other:"00\u5146"},1E14:{other:"000\u5146"}}};goog.i18n.CompactNumberFormatSymbols_ja_JP=goog.i18n.CompactNumberFormatSymbols_ja;
goog.i18n.CompactNumberFormatSymbols_kn={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0cb8\u0cbe\u0cb5\u0cbf\u0cb0"},1E4:{other:"00 \u0cb8\u0cbe\u0cb5\u0cbf\u0cb0"},1E5:{other:"000 \u0cb8\u0cbe\u0cb5\u0cbf\u0cb0"},1E6:{other:"0 \u0cae\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd"},
1E7:{other:"00 \u0cae\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd"},1E8:{other:"000 \u0cae\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd"},1E9:{other:"0 \u0cac\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd"},1E10:{other:"00 \u0cac\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd"},1E11:{other:"000 \u0cac\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd"},1E12:{other:"0 \u0c9f\u0ccd\u0cb0\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd\u200c"},1E13:{other:"00 \u0c9f\u0ccd\u0cb0\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd\u200c"},1E14:{other:"000 \u0c9f\u0ccd\u0cb0\u0cbf\u0cb2\u0cbf\u0caf\u0ca8\u0ccd\u200c"}}};
goog.i18n.CompactNumberFormatSymbols_kn_IN=goog.i18n.CompactNumberFormatSymbols_kn;
goog.i18n.CompactNumberFormatSymbols_ko={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0000"},1E4:{other:"0\ub9cc"},1E5:{other:"00\ub9cc"},1E6:{other:"000\ub9cc"},1E7:{other:"0000\ub9cc"},1E8:{other:"0\uc5b5"},1E9:{other:"00\uc5b5"},1E10:{other:"000\uc5b5"},1E11:{other:"0000\uc5b5"},1E12:{other:"0\uc870"},1E13:{other:"00\uc870"},1E14:{other:"000\uc870"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0000"},1E4:{other:"0\ub9cc"},1E5:{other:"00\ub9cc"},1E6:{other:"000\ub9cc"},1E7:{other:"0000\ub9cc"},1E8:{other:"0\uc5b5"},
1E9:{other:"00\uc5b5"},1E10:{other:"000\uc5b5"},1E11:{other:"0000\uc5b5"},1E12:{other:"0\uc870"},1E13:{other:"00\uc870"},1E14:{other:"000\uc870"}}};goog.i18n.CompactNumberFormatSymbols_ko_KR=goog.i18n.CompactNumberFormatSymbols_ko;
goog.i18n.CompactNumberFormatSymbols_ln={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0G"},1E10:{other:"00G"},1E11:{other:"000G"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}}};goog.i18n.CompactNumberFormatSymbols_ln_CD=goog.i18n.CompactNumberFormatSymbols_ln;
goog.i18n.CompactNumberFormatSymbols_lt={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0t\u016bkst."},1E4:{other:"00\u00a0t\u016bkst."},1E5:{other:"000\u00a0t\u016bkst."},1E6:{other:"0\u00a0mln."},1E7:{other:"00\u00a0mln."},1E8:{other:"000\u00a0mln."},1E9:{other:"0\u00a0mlrd."},1E10:{other:"00\u00a0mlrd."},1E11:{other:"000\u00a0mlrd."},1E12:{other:"0\u00a0trln."},1E13:{other:"00\u00a0trln."},1E14:{other:"000\u00a0trln."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 t\u016bkstan\u010di\u0173"},
1E4:{other:"00 t\u016bkstan\u010di\u0173"},1E5:{other:"000 t\u016bkstan\u010di\u0173"},1E6:{other:"0 milijon\u0173"},1E7:{other:"00 milijon\u0173"},1E8:{other:"000 milijon\u0173"},1E9:{other:"0 milijard\u0173"},1E10:{other:"00 milijard\u0173"},1E11:{other:"000 milijard\u0173"},1E12:{other:"0 trilijon\u0173"},1E13:{other:"00 trilijon\u0173"},1E14:{other:"000 trilijon\u0173"}}};goog.i18n.CompactNumberFormatSymbols_lt_LT=goog.i18n.CompactNumberFormatSymbols_lt;
goog.i18n.CompactNumberFormatSymbols_lv={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0t\u016bkst."},1E4:{other:"00\u00a0t\u016bkst."},1E5:{other:"000\u00a0t\u016bkst."},1E6:{other:"0\u00a0milj."},1E7:{other:"00\u00a0milj."},1E8:{other:"000\u00a0milj."},1E9:{other:"0\u00a0mljrd."},1E10:{other:"00\u00a0mljrd."},1E11:{other:"000\u00a0mljrd."},1E12:{other:"0\u00a0trilj."},1E13:{other:"00\u00a0trilj."},1E14:{other:"000\u00a0trilj."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 t\u016bksto\u0161i"},
1E4:{other:"00 t\u016bksto\u0161i"},1E5:{other:"000 t\u016bksto\u0161i"},1E6:{other:"0 miljoni"},1E7:{other:"00 miljoni"},1E8:{other:"000 miljoni"},1E9:{other:"0 miljardi"},1E10:{other:"00 miljardi"},1E11:{other:"000 miljardi"},1E12:{other:"0 triljoni"},1E13:{other:"00 triljoni"},1E14:{other:"000 triljoni"}}};goog.i18n.CompactNumberFormatSymbols_lv_LV=goog.i18n.CompactNumberFormatSymbols_lv;
goog.i18n.CompactNumberFormatSymbols_ml={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0d06\u0d2f\u0d3f\u0d30\u0d02"},1E4:{other:"00 \u0d06\u0d2f\u0d3f\u0d30\u0d02"},1E5:{other:"000 \u0d06\u0d2f\u0d3f\u0d30\u0d02"},1E6:{other:"0 \u0d26\u0d36\u0d32\u0d15\u0d4d\u0d37\u0d02"},
1E7:{other:"00 \u0d26\u0d36\u0d32\u0d15\u0d4d\u0d37\u0d02"},1E8:{other:"000 \u0d26\u0d36\u0d32\u0d15\u0d4d\u0d37\u0d02"},1E9:{other:"0 \u0d32\u0d15\u0d4d\u0d37\u0d02 \u0d15\u0d4b\u0d1f\u0d3f"},1E10:{other:"00 \u0d32\u0d15\u0d4d\u0d37\u0d02 \u0d15\u0d4b\u0d1f\u0d3f"},1E11:{other:"000 \u0d32\u0d15\u0d4d\u0d37\u0d02 \u0d15\u0d4b\u0d1f\u0d3f"},1E12:{other:"0 \u0d1f\u0d4d\u0d30\u0d3f\u0d32\u0d4d\u0d2f\u0d7a"},1E13:{other:"00 \u0d1f\u0d4d\u0d30\u0d3f\u0d32\u0d4d\u0d2f\u0d7a"},1E14:{other:"000 \u0d1f\u0d4d\u0d30\u0d3f\u0d32\u0d4d\u0d2f\u0d7a"}}};
goog.i18n.CompactNumberFormatSymbols_ml_IN=goog.i18n.CompactNumberFormatSymbols_ml;
goog.i18n.CompactNumberFormatSymbols_mr={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0939\u091c\u093e\u0930"},1E4:{other:"00 \u0939\u091c\u093e\u0930"},1E5:{other:"000 \u0939\u091c\u093e\u0930"},1E6:{other:"0 \u0926\u0936\u0932\u0915\u094d\u0937"},
1E7:{other:"00 \u0926\u0936\u0932\u0915\u094d\u0937"},1E8:{other:"000 \u0926\u0936\u0932\u0915\u094d\u0937"},1E9:{other:"0 \u092e\u0939\u093e\u092a\u0926\u094d\u092e"},1E10:{other:"00 \u092e\u0939\u093e\u092a\u0926\u094d\u092e"},1E11:{other:"000 \u092e\u0939\u093e\u092a\u0926\u094d\u092e"},1E12:{other:"0 \u0916\u0930\u092c"},1E13:{other:"00 \u0916\u0930\u092c"},1E14:{other:"000 \u0916\u0930\u092c"}}};goog.i18n.CompactNumberFormatSymbols_mr_IN=goog.i18n.CompactNumberFormatSymbols_mr;
goog.i18n.CompactNumberFormatSymbols_ms={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0J"},1E7:{other:"00J"},1E8:{other:"000J"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 ribu"},1E4:{other:"00 ribu"},1E5:{other:"000 ribu"},1E6:{other:"0 juta"},1E7:{other:"00 juta"},1E8:{other:"000 juta"},1E9:{other:"0 bilion"},1E10:{other:"00 bilion"},
1E11:{other:"000 bilion"},1E12:{other:"0 trilion"},1E13:{other:"00 trilion"},1E14:{other:"000 trilion"}}};goog.i18n.CompactNumberFormatSymbols_ms_Latn_MY=goog.i18n.CompactNumberFormatSymbols_ms;goog.i18n.CompactNumberFormatSymbols_mt={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0G"},1E10:{other:"00G"},1E11:{other:"000G"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}}};
goog.i18n.CompactNumberFormatSymbols_mt_MT=goog.i18n.CompactNumberFormatSymbols_mt;
goog.i18n.CompactNumberFormatSymbols_nb={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0K"},1E4:{other:"00\u00a0K"},1E5:{other:"000\u00a0K"},1E6:{other:"0\u00a0mill"},1E7:{other:"00\u00a0mill"},1E8:{other:"000\u00a0mill"},1E9:{other:"0\u00a0mrd"},1E10:{other:"00\u00a0mrd"},1E11:{other:"000\u00a0mrd"},1E12:{other:"0\u00a0bill"},1E13:{other:"00\u00a0bill"},1E14:{other:"000\u00a0bill"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tusen"},1E4:{other:"00 tusen"},1E5:{other:"000 tusen"},1E6:{other:"0 millioner"},
1E7:{other:"00 millioner"},1E8:{other:"000 millioner"},1E9:{other:"0 milliarder"},1E10:{other:"00 milliarder"},1E11:{other:"000 milliarder"},1E12:{other:"0 billioner"},1E13:{other:"00 billioner"},1E14:{other:"000 billioner"}}};goog.i18n.CompactNumberFormatSymbols_nb_NO=goog.i18n.CompactNumberFormatSymbols_nb;goog.i18n.CompactNumberFormatSymbols_nb_SJ=goog.i18n.CompactNumberFormatSymbols_nb;
goog.i18n.CompactNumberFormatSymbols_nl={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0\u00a0mln."},1E7:{other:"00\u00a0mln."},1E8:{other:"000\u00a0mln."},1E9:{other:"0\u00a0mld."},1E10:{other:"00\u00a0mld."},1E11:{other:"000\u00a0mld."},1E12:{other:"0\u00a0bln."},1E13:{other:"00\u00a0bln."},1E14:{other:"000\u00a0bln."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 duizend"},1E4:{other:"00 duizend"},1E5:{other:"000 duizend"},1E6:{other:"0 miljoen"},
1E7:{other:"00 miljoen"},1E8:{other:"000 miljoen"},1E9:{other:"0 miljard"},1E10:{other:"00 miljard"},1E11:{other:"000 miljard"},1E12:{other:"0 biljoen"},1E13:{other:"00 biljoen"},1E14:{other:"000 biljoen"}}};goog.i18n.CompactNumberFormatSymbols_nl_NL=goog.i18n.CompactNumberFormatSymbols_nl;
goog.i18n.CompactNumberFormatSymbols_no={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0K"},1E4:{other:"00\u00a0K"},1E5:{other:"000\u00a0K"},1E6:{other:"0\u00a0mill"},1E7:{other:"00\u00a0mill"},1E8:{other:"000\u00a0mill"},1E9:{other:"0\u00a0mrd"},1E10:{other:"00\u00a0mrd"},1E11:{other:"000\u00a0mrd"},1E12:{other:"0\u00a0bill"},1E13:{other:"00\u00a0bill"},1E14:{other:"000\u00a0bill"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tusen"},1E4:{other:"00 tusen"},1E5:{other:"000 tusen"},1E6:{other:"0 millioner"},
1E7:{other:"00 millioner"},1E8:{other:"000 millioner"},1E9:{other:"0 milliarder"},1E10:{other:"00 milliarder"},1E11:{other:"000 milliarder"},1E12:{other:"0 billioner"},1E13:{other:"00 billioner"},1E14:{other:"000 billioner"}}};goog.i18n.CompactNumberFormatSymbols_or={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0G"},1E10:{other:"00G"},1E11:{other:"000G"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}}};
goog.i18n.CompactNumberFormatSymbols_or_IN=goog.i18n.CompactNumberFormatSymbols_or;
goog.i18n.CompactNumberFormatSymbols_pl={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0tys."},1E4:{other:"00\u00a0tys."},1E5:{other:"000\u00a0tys."},1E6:{other:"0\u00a0mln"},1E7:{other:"00\u00a0mln"},1E8:{other:"000\u00a0mln"},1E9:{other:"0\u00a0mld"},1E10:{other:"00\u00a0mld"},1E11:{other:"000\u00a0mld"},1E12:{other:"0\u00a0bln"},1E13:{other:"00\u00a0bln"},1E14:{other:"000\u00a0bln"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tysi\u0105ca"},1E4:{other:"00 tysi\u0105ca"},1E5:{other:"000 tysi\u0105ca"},
1E6:{other:"0 miliona"},1E7:{other:"00 miliona"},1E8:{other:"000 miliona"},1E9:{other:"0 miliarda"},1E10:{other:"00 miliarda"},1E11:{other:"000 miliarda"},1E12:{other:"0 biliona"},1E13:{other:"00 biliona"},1E14:{other:"000 biliona"}}};goog.i18n.CompactNumberFormatSymbols_pl_PL=goog.i18n.CompactNumberFormatSymbols_pl;
goog.i18n.CompactNumberFormatSymbols_pt={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0mil"},1E4:{other:"00\u00a0mil"},1E5:{other:"000\u00a0mil"},1E6:{other:"0\u00a0mi"},1E7:{other:"00\u00a0mi"},1E8:{other:"000\u00a0mi"},1E9:{other:"0\u00a0bi"},1E10:{other:"00\u00a0bi"},1E11:{other:"000\u00a0bi"},1E12:{other:"0\u00a0tri"},1E13:{other:"00\u00a0tri"},1E14:{other:"000\u00a0tri"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 mil"},1E4:{other:"00 mil"},1E5:{other:"000 mil"},1E6:{other:"0 milh\u00f5es"},
1E7:{other:"00 milh\u00f5es"},1E8:{other:"000 milh\u00f5es"},1E9:{other:"0 bilh\u00f5es"},1E10:{other:"00 bilh\u00f5es"},1E11:{other:"000 bilh\u00f5es"},1E12:{other:"0 trilh\u00f5es"},1E13:{other:"00 trilh\u00f5es"},1E14:{other:"000 trilh\u00f5es"}}};goog.i18n.CompactNumberFormatSymbols_pt_BR=goog.i18n.CompactNumberFormatSymbols_pt;
goog.i18n.CompactNumberFormatSymbols_pt_PT={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0mil"},1E4:{other:"00\u00a0mil"},1E5:{other:"000\u00a0mil"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0\u00a0MM"},1E10:{other:"00\u00a0MM"},1E11:{other:"000\u00a0MM"},1E12:{other:"0\u00a0Bi"},1E13:{other:"00\u00a0Bi"},1E14:{other:"000\u00a0Bi"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 mil"},1E4:{other:"00 mil"},1E5:{other:"000 mil"},1E6:{other:"0 milh\u00f5es"},
1E7:{other:"00 milh\u00f5es"},1E8:{other:"000 milh\u00f5es"},1E9:{other:"0 mil milh\u00f5es"},1E10:{other:"00 mil milh\u00f5es"},1E11:{other:"000 mil milh\u00f5es"},1E12:{other:"0 bili\u00f5es"},1E13:{other:"00 bili\u00f5es"},1E14:{other:"000 bili\u00f5es"}}};
goog.i18n.CompactNumberFormatSymbols_ro={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0K"},1E4:{other:"00\u00a0K"},1E5:{other:"000\u00a0K"},1E6:{other:"0\u00a0mil."},1E7:{other:"00\u00a0mil."},1E8:{other:"000\u00a0mil."},1E9:{other:"0\u00a0mld."},1E10:{other:"00\u00a0mld."},1E11:{other:"000\u00a0mld."},1E12:{other:"0\u00a0tril."},1E13:{other:"00\u00a0tril."},1E14:{other:"000\u00a0tril."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 de mii"},1E4:{other:"00 de mii"},1E5:{other:"000 de mii"},1E6:{other:"0 de milioane"},
1E7:{other:"00 de milioane"},1E8:{other:"000 de milioane"},1E9:{other:"0 de miliarde"},1E10:{other:"00 de miliarde"},1E11:{other:"000 de miliarde"},1E12:{other:"0 de trilioane"},1E13:{other:"00 de trilioane"},1E14:{other:"000 de trilioane"}}};goog.i18n.CompactNumberFormatSymbols_ro_RO=goog.i18n.CompactNumberFormatSymbols_ro;
goog.i18n.CompactNumberFormatSymbols_ru={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u0442\u044b\u0441."},1E4:{other:"00\u00a0\u0442\u044b\u0441."},1E5:{other:"000\u00a0\u0442\u044b\u0441."},1E6:{other:"0\u00a0\u043c\u043b\u043d"},1E7:{other:"00\u00a0\u043c\u043b\u043d"},1E8:{other:"000\u00a0\u043c\u043b\u043d"},1E9:{other:"0\u00a0\u043c\u043b\u0440\u0434"},1E10:{other:"00\u00a0\u043c\u043b\u0440\u0434"},1E11:{other:"000\u00a0\u043c\u043b\u0440\u0434"},1E12:{other:"0\u00a0\u0442\u0440\u043b\u043d"},
1E13:{other:"00\u00a0\u0442\u0440\u043b\u043d"},1E14:{other:"000\u00a0\u0442\u0440\u043b\u043d"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0442\u044b\u0441\u044f\u0447\u0438"},1E4:{other:"00 \u0442\u044b\u0441\u044f\u0447\u0438"},1E5:{other:"000 \u0442\u044b\u0441\u044f\u0447\u0438"},1E6:{other:"0 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430"},1E7:{other:"00 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430"},1E8:{other:"000 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430"},1E9:{other:"0 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430"},
1E10:{other:"00 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430"},1E11:{other:"000 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430"},1E12:{other:"0 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u0430"},1E13:{other:"00 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u0430"},1E14:{other:"000 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u0430"}}};goog.i18n.CompactNumberFormatSymbols_ru_RU=goog.i18n.CompactNumberFormatSymbols_ru;
goog.i18n.CompactNumberFormatSymbols_sk={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0tis."},1E4:{other:"00\u00a0tis."},1E5:{other:"000\u00a0tis."},1E6:{other:"0\u00a0mil."},1E7:{other:"00\u00a0mil."},1E8:{other:"000\u00a0mil."},1E9:{other:"0\u00a0mld."},1E10:{other:"00\u00a0mld."},1E11:{other:"000\u00a0mld."},1E12:{other:"0\u00a0bil."},1E13:{other:"00\u00a0bil."},1E14:{other:"000\u00a0bil."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tis\u00edc"},1E4:{other:"00 tis\u00edc"},1E5:{other:"000 tis\u00edc"},
1E6:{other:"0 mili\u00f3nov"},1E7:{other:"00 mili\u00f3nov"},1E8:{other:"000 mili\u00f3nov"},1E9:{other:"0 miliard"},1E10:{other:"00 mili\u00e1rd"},1E11:{other:"000 mili\u00e1rd"},1E12:{other:"0 bili\u00f3nov"},1E13:{other:"00 bili\u00f3nov"},1E14:{other:"000 bili\u00f3nov"}}};goog.i18n.CompactNumberFormatSymbols_sk_SK=goog.i18n.CompactNumberFormatSymbols_sk;
goog.i18n.CompactNumberFormatSymbols_sl={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0tis."},1E4:{other:"00\u00a0tis."},1E5:{other:"000\u00a0tis."},1E6:{other:"0\u00a0mio."},1E7:{other:"00\u00a0mio."},1E8:{other:"000\u00a0mio."},1E9:{other:"0\u00a0mrd."},1E10:{other:"00\u00a0mrd."},1E11:{other:"000\u00a0mrd."},1E12:{other:"0\u00a0bil."},1E13:{other:"00\u00a0bil."},1E14:{other:"000\u00a0bil."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tiso\u010d"},1E4:{other:"00 tiso\u010d"},1E5:{other:"000 tiso\u010d"},
1E6:{other:"0 milijonov"},1E7:{other:"00 milijonov"},1E8:{other:"000 milijonov"},1E9:{other:"0 milijard"},1E10:{other:"00 milijard"},1E11:{other:"000 milijard"},1E12:{other:"0 bilijonov"},1E13:{other:"00 bilijonov"},1E14:{other:"000 bilijonov"}}};goog.i18n.CompactNumberFormatSymbols_sl_SI=goog.i18n.CompactNumberFormatSymbols_sl;
goog.i18n.CompactNumberFormatSymbols_sq={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0mij\u00eb"},1E4:{other:"00\u00a0mij\u00eb"},1E5:{other:"000\u00a0mij\u00eb"},1E6:{other:"0\u00a0Mln"},1E7:{other:"00\u00a0Mln"},1E8:{other:"000\u00a0Mln"},1E9:{other:"0\u00a0Mld"},1E10:{other:"00\u00a0Mld"},1E11:{other:"000\u00a0Mld"},1E12:{other:"0\u00a0Bln"},1E13:{other:"00\u00a0Bln"},1E14:{other:"000\u00a0Bln"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 mij\u00eb"},1E4:{other:"00 mij\u00eb"},1E5:{other:"000 mij\u00eb"},
1E6:{other:"0 milion"},1E7:{other:"00 milion"},1E8:{other:"000 milion"},1E9:{other:"0 miliard"},1E10:{other:"00 miliard"},1E11:{other:"000 miliard"},1E12:{other:"0 bilion"},1E13:{other:"00 bilion"},1E14:{other:"000 bilion"}}};goog.i18n.CompactNumberFormatSymbols_sq_AL=goog.i18n.CompactNumberFormatSymbols_sq;
goog.i18n.CompactNumberFormatSymbols_sr={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0"},1E4:{other:"00\u00a0\u0445\u0438\u0459"},1E5:{other:"000\u00a0\u0445\u0438\u0459"},1E6:{other:"0\u00a0\u043c\u0438\u043b"},1E7:{other:"00\u00a0\u043c\u0438\u043b"},1E8:{other:"000\u00a0\u043c\u0438\u043b"},1E9:{other:"0\u00a0\u043c\u043b\u0440\u0434"},1E10:{other:"00\u00a0\u043c\u043b\u0440\u0434"},1E11:{other:"000\u00a0\u043c\u043b\u0440\u0434"},1E12:{other:"0\u00a0\u0431\u0438\u043b"},1E13:{other:"00\u00a0\u0431\u0438\u043b"},
1E14:{other:"000\u00a0\u0431\u0438\u043b"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0445\u0438\u0459\u0430\u0434\u0430"},1E4:{other:"00 \u0445\u0438\u0459\u0430\u0434\u0430"},1E5:{other:"000 \u0445\u0438\u0459\u0430\u0434\u0430"},1E6:{other:"0 \u043c\u0438\u043b\u0438\u043e\u043d\u0430"},1E7:{other:"00 \u043c\u0438\u043b\u0438\u043e\u043d\u0430"},1E8:{other:"000 \u043c\u0438\u043b\u0438\u043e\u043d\u0430"},1E9:{other:"0 \u043c\u0438\u043b\u0438\u0458\u0430\u0440\u0434\u0438"},1E10:{other:"00 \u043c\u0438\u043b\u0438\u0458\u0430\u0440\u0434\u0438"},
1E11:{other:"000 \u043c\u0438\u043b\u0438\u0458\u0430\u0440\u0434\u0438"},1E12:{other:"0 \u0442\u0440\u0438\u043b\u0438\u043e\u043d\u0430"},1E13:{other:"00 \u0442\u0440\u0438\u043b\u0438\u043e\u043d\u0430"},1E14:{other:"000 \u0442\u0440\u0438\u043b\u0438\u043e\u043d\u0430"}}};goog.i18n.CompactNumberFormatSymbols_sr_Cyrl_RS=goog.i18n.CompactNumberFormatSymbols_sr;
goog.i18n.CompactNumberFormatSymbols_sv={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0tn"},1E4:{other:"00\u00a0tn"},1E5:{other:"000\u00a0tn"},1E6:{other:"0\u00a0mn"},1E7:{other:"00\u00a0mn"},1E8:{other:"000\u00a0mn"},1E9:{other:"0\u00a0md"},1E10:{other:"00\u00a0md"},1E11:{other:"000\u00a0md"},1E12:{other:"0\u00a0bn"},1E13:{other:"00\u00a0bn"},1E14:{other:"000\u00a0bn"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 tusen"},1E4:{other:"00 tusen"},1E5:{other:"000 tusen"},1E6:{other:"0 miljoner"},
1E7:{other:"00 miljoner"},1E8:{other:"000 miljoner"},1E9:{other:"0 miljarder"},1E10:{other:"00 miljarder"},1E11:{other:"000 miljarder"},1E12:{other:"0 biljoner"},1E13:{other:"00 biljoner"},1E14:{other:"000 biljoner"}}};goog.i18n.CompactNumberFormatSymbols_sv_SE=goog.i18n.CompactNumberFormatSymbols_sv;
goog.i18n.CompactNumberFormatSymbols_sw={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"elfu\u00a00"},1E4:{other:"elfu\u00a000"},1E5:{other:"laki0"},1E6:{other:"M0"},1E7:{other:"M00"},1E8:{other:"M000"},1E9:{other:"B0"},1E10:{other:"B00"},1E11:{other:"B000"},1E12:{other:"T0"},1E13:{other:"T00"},1E14:{other:"T000"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"Elfu 0"},1E4:{other:"Elfu 00"},1E5:{other:"Elfu 000"},1E6:{other:"Milioni 0"},1E7:{other:"Milioni 00"},1E8:{other:"Milioni 000"},1E9:{other:"Bilioni 0"},
1E10:{other:"Bilioni 00"},1E11:{other:"Bilioni 000"},1E12:{other:"Trilioni 0"},1E13:{other:"Trilioni 00"},1E14:{other:"Trilioni 000"}}};goog.i18n.CompactNumberFormatSymbols_sw_TZ=goog.i18n.CompactNumberFormatSymbols_sw;
goog.i18n.CompactNumberFormatSymbols_ta={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u0b86"},1E4:{other:"00\u0b86"},1E5:{other:"000\u0b86"},1E6:{other:"0\u0bae\u0bbf"},1E7:{other:"00\u0bae\u0bbf"},1E8:{other:"000\u0bae\u0bbf"},1E9:{other:"0\u0baa\u0bbf"},1E10:{other:"00\u0baa\u0bbf"},1E11:{other:"000\u0baa\u0bbf"},1E12:{other:"0\u0b9f\u0bbf"},1E13:{other:"00\u0b9f\u0bbf"},1E14:{other:"000\u0b9f\u0bbf"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0b86\u0baf\u0bbf\u0bb0\u0bae\u0bcd"},1E4:{other:"00 \u0b86\u0baf\u0bbf\u0bb0\u0bae\u0bcd"},
1E5:{other:"000 \u0b86\u0baf\u0bbf\u0bb0\u0bae\u0bcd"},1E6:{other:"0 \u0bae\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd"},1E7:{other:"00 \u0bae\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd"},1E8:{other:"000 \u0bae\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd"},1E9:{other:"0 \u0baa\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd"},1E10:{other:"00 \u0baa\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd"},1E11:{other:"000 \u0baa\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd"},1E12:{other:"0 \u0b9f\u0bbf\u0bb0\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd"},
1E13:{other:"00 \u0b9f\u0bbf\u0bb0\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd"},1E14:{other:"000 \u0b9f\u0bbf\u0bb0\u0bbf\u0bb2\u0bcd\u0bb2\u0bbf\u0baf\u0ba9\u0bcd"}}};goog.i18n.CompactNumberFormatSymbols_ta_IN=goog.i18n.CompactNumberFormatSymbols_ta;
goog.i18n.CompactNumberFormatSymbols_te={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u0c35\u0c47"},1E4:{other:"00\u0c35\u0c47"},1E5:{other:"000\u0c35\u0c47"},1E6:{other:"0\u0c2e\u0c3f"},1E7:{other:"00\u0c2e\u0c3f"},1E8:{other:"000\u0c2e\u0c3f"},1E9:{other:"0\u0c2c\u0c3f"},1E10:{other:"00\u0c2c\u0c3f"},1E11:{other:"000\u0c2c\u0c3f"},1E12:{other:"0\u0c1f\u0c4d\u0c30\u0c3f"},1E13:{other:"00\u0c1f\u0c4d\u0c30\u0c3f"},1E14:{other:"000\u0c1f\u0c4d\u0c30\u0c3f"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0c35\u0c47\u0c32\u0c41"},
1E4:{other:"00 \u0c35\u0c47\u0c32\u0c41"},1E5:{other:"000 \u0c35\u0c47\u0c32\u0c41"},1E6:{other:"0 \u0c2e\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d"},1E7:{other:"00 \u0c2e\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d"},1E8:{other:"000 \u0c2e\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d"},1E9:{other:"0 \u0c2c\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d"},1E10:{other:"00 \u0c2c\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d"},1E11:{other:"000 \u0c2c\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d"},1E12:{other:"0 \u0c1f\u0c4d\u0c30\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d"},
1E13:{other:"00 \u0c1f\u0c4d\u0c30\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d"},1E14:{other:"000 \u0c1f\u0c4d\u0c30\u0c3f\u0c32\u0c3f\u0c2f\u0c28\u0c4d"}}};goog.i18n.CompactNumberFormatSymbols_te_IN=goog.i18n.CompactNumberFormatSymbols_te;
goog.i18n.CompactNumberFormatSymbols_th={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u0e1e."},1E4:{other:"0\u00a0\u0e21."},1E5:{other:"0\u00a0\u0e2a."},1E6:{other:"0\u00a0\u0e25."},1E7:{other:"00\u00a0\u0e25."},1E8:{other:"000\u00a0\u0e25."},1E9:{other:"0\u00a0\u0e1e.\u0e25."},1E10:{other:"0\u00a0\u0e21.\u0e25."},1E11:{other:"0\u00a0\u0e2a.\u0e25."},1E12:{other:"0\u00a0\u0e25.\u0e25."},1E13:{other:"00\u00a0\u0e25.\u0e25."},1E14:{other:"000\u00a0\u0e25.\u0e25."}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0e1e\u0e31\u0e19"},
1E4:{other:"0 \u0e2b\u0e21\u0e37\u0e48\u0e19"},1E5:{other:"0 \u0e41\u0e2a\u0e19"},1E6:{other:"0 \u0e25\u0e49\u0e32\u0e19"},1E7:{other:"00 \u0e25\u0e49\u0e32\u0e19"},1E8:{other:"000 \u0e25\u0e49\u0e32\u0e19"},1E9:{other:"0 \u0e1e\u0e31\u0e19\u0e25\u0e49\u0e32\u0e19"},1E10:{other:"0 \u0e2b\u0e21\u0e37\u0e48\u0e19\u0e25\u0e49\u0e32\u0e19"},1E11:{other:"0 \u0e41\u0e2a\u0e19\u0e25\u0e49\u0e32\u0e19"},1E12:{other:"0 \u0e25\u0e49\u0e32\u0e19\u0e25\u0e49\u0e32\u0e19"},1E13:{other:"00 \u0e25\u0e49\u0e32\u0e19\u0e25\u0e49\u0e32\u0e19"},
1E14:{other:"000 \u0e25\u0e49\u0e32\u0e19\u0e25\u0e49\u0e32\u0e19"}}};goog.i18n.CompactNumberFormatSymbols_th_TH=goog.i18n.CompactNumberFormatSymbols_th;
goog.i18n.CompactNumberFormatSymbols_tl={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 libo"},1E4:{other:"00 libo"},1E5:{other:"000 libo"},1E6:{other:"0 milyon"},1E7:{other:"00 milyon"},1E8:{other:"000 milyon"},1E9:{other:"0 bilyon"},1E10:{other:"00 bilyon"},
1E11:{other:"000 bilyon"},1E12:{other:"0 trilyon"},1E13:{other:"00 trilyon"},1E14:{other:"000 trilyon"}}};
goog.i18n.CompactNumberFormatSymbols_tr={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0"},1E4:{other:"00\u00a0B"},1E5:{other:"000\u00a0B"},1E6:{other:"0\u00a0Mn"},1E7:{other:"00\u00a0Mn"},1E8:{other:"000\u00a0Mn"},1E9:{other:"0\u00a0Mr"},1E10:{other:"00\u00a0Mr"},1E11:{other:"000\u00a0Mr"},1E12:{other:"0\u00a0Tn"},1E13:{other:"00\u00a0Tn"},1E14:{other:"000\u00a0Tn"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 bin"},1E4:{other:"00 bin"},1E5:{other:"000 bin"},1E6:{other:"0 milyon"},1E7:{other:"00 milyon"},
1E8:{other:"000 milyon"},1E9:{other:"0 milyar"},1E10:{other:"00 milyar"},1E11:{other:"000 milyar"},1E12:{other:"0 trilyon"},1E13:{other:"00 trilyon"},1E14:{other:"000 trilyon"}}};goog.i18n.CompactNumberFormatSymbols_tr_TR=goog.i18n.CompactNumberFormatSymbols_tr;
goog.i18n.CompactNumberFormatSymbols_uk={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u0442\u0438\u0441"},1E4:{other:"00\u00a0\u0442\u0438\u0441"},1E5:{other:"000\u00a0\u0442\u0438\u0441"},1E6:{other:"0\u00a0\u043c\u043b\u043d"},1E7:{other:"00\u00a0\u043c\u043b\u043d"},1E8:{other:"000\u00a0\u043c\u043b\u043d"},1E9:{other:"0\u00a0\u043c\u043b\u0440\u0434"},1E10:{other:"00\u00a0\u043c\u043b\u0440\u0434"},1E11:{other:"000\u00a0\u043c\u043b\u0440\u0434"},1E12:{other:"0\u00a0\u0442\u0440\u043b\u043d"},
1E13:{other:"00\u00a0\u0442\u0440\u043b\u043d"},1E14:{other:"000\u00a0\u0442\u0440\u043b\u043d"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u0442\u0438\u0441\u044f\u0447\u0456"},1E4:{other:"00 \u0442\u0438\u0441\u044f\u0447\u0456"},1E5:{other:"000 \u0442\u0438\u0441\u044f\u0447\u0456"},1E6:{other:"0 \u043c\u0456\u043b\u044c\u0439\u043e\u043d\u0430"},1E7:{other:"00 \u043c\u0456\u043b\u044c\u0439\u043e\u043d\u0430"},1E8:{other:"000 \u043c\u0456\u043b\u044c\u0439\u043e\u043d\u0430"},1E9:{other:"0 \u043c\u0456\u043b\u044c\u044f\u0440\u0434\u0430"},
1E10:{other:"00 \u043c\u0456\u043b\u044c\u044f\u0440\u0434\u0430"},1E11:{other:"000 \u043c\u0456\u043b\u044c\u044f\u0440\u0434\u0430"},1E12:{other:"0 \u0442\u0440\u0438\u043b\u044c\u0439\u043e\u043d\u0430"},1E13:{other:"00 \u0442\u0440\u0438\u043b\u044c\u0439\u043e\u043d\u0430"},1E14:{other:"000 \u0442\u0440\u0438\u043b\u044c\u0439\u043e\u043d\u0430"}}};goog.i18n.CompactNumberFormatSymbols_uk_UA=goog.i18n.CompactNumberFormatSymbols_uk;
goog.i18n.CompactNumberFormatSymbols_ur={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u06c1\u0632\u0627\u0631"},1E4:{other:"00\u00a0\u06c1\u0632\u0627\u0631"},1E5:{other:"0\u00a0\u0644\u0627\u06a9\u06be"},1E6:{other:"00\u00a0\u0644\u0627\u06a9\u06be"},1E7:{other:"0\u00a0\u06a9\u0631\u0648\u0691"},1E8:{other:"00\u00a0\u06a9\u0631\u0648\u0691"},1E9:{other:"0\u00a0\u0627\u0631\u0628"},1E10:{other:"00\u00a0\u0627\u0631\u0628"},1E11:{other:"0\u00a0\u06a9\u06be\u0631\u0628"},1E12:{other:"00\u00a0\u06a9\u06be\u0631\u0628"},
1E13:{other:"00T"},1E14:{other:"000T"}}};goog.i18n.CompactNumberFormatSymbols_ur_PK=goog.i18n.CompactNumberFormatSymbols_ur;
goog.i18n.CompactNumberFormatSymbols_vi={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0N"},1E4:{other:"00\u00a0N"},1E5:{other:"000\u00a0N"},1E6:{other:"0\u00a0Tr"},1E7:{other:"00\u00a0Tr"},1E8:{other:"000\u00a0Tr"},1E9:{other:"0\u00a0T"},1E10:{other:"00\u00a0T"},1E11:{other:"000\u00a0T"},1E12:{other:"0\u00a0NT"},1E13:{other:"00\u00a0NT"},1E14:{other:"000\u00a0NT"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 ngh\u00ecn"},1E4:{other:"00 ngh\u00ecn"},1E5:{other:"000 ngh\u00ecn"},1E6:{other:"0 tri\u1ec7u"},
1E7:{other:"00 tri\u1ec7u"},1E8:{other:"000 tri\u1ec7u"},1E9:{other:"0 t\u1ef7"},1E10:{other:"00 t\u1ef7"},1E11:{other:"000 t\u1ef7"},1E12:{other:"0 ngh\u00ecn t\u1ef7"},1E13:{other:"00 ngh\u00ecn t\u1ef7"},1E14:{other:"000 ngh\u00ecn t\u1ef7"}}};goog.i18n.CompactNumberFormatSymbols_vi_VN=goog.i18n.CompactNumberFormatSymbols_vi;
goog.i18n.CompactNumberFormatSymbols_zh={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u5343"},1E4:{other:"0\u4e07"},1E5:{other:"00\u4e07"},1E6:{other:"000\u4e07"},1E7:{other:"0000\u4e07"},1E8:{other:"0\u4ebf"},1E9:{other:"00\u4ebf"},1E10:{other:"000\u4ebf"},1E11:{other:"0000\u4ebf"},1E12:{other:"0\u5146"},1E13:{other:"00\u5146"},1E14:{other:"000\u5146"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0\u5343"},1E4:{other:"0\u4e07"},1E5:{other:"00\u4e07"},1E6:{other:"000\u4e07"},1E7:{other:"0000\u4e07"},
1E8:{other:"0\u4ebf"},1E9:{other:"00\u4ebf"},1E10:{other:"000\u4ebf"},1E11:{other:"0000\u4ebf"},1E12:{other:"0\u5146"},1E13:{other:"00\u5146"},1E14:{other:"000\u5146"}}};goog.i18n.CompactNumberFormatSymbols_zh_CN=goog.i18n.CompactNumberFormatSymbols_zh;
goog.i18n.CompactNumberFormatSymbols_zh_HK={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u5343"},1E4:{other:"0\u842c"},1E5:{other:"00\u842c"},1E6:{other:"000\u842c"},1E7:{other:"0000\u842c"},1E8:{other:"0\u5104"},1E9:{other:"00\u5104"},1E10:{other:"000\u5104"},
1E11:{other:"0000\u5104"},1E12:{other:"0\u5146"},1E13:{other:"00\u5146"},1E14:{other:"000\u5146"}}};goog.i18n.CompactNumberFormatSymbols_zh_Hans_CN=goog.i18n.CompactNumberFormatSymbols_zh;
goog.i18n.CompactNumberFormatSymbols_zh_TW={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 \u5343"},1E4:{other:"0\u842c"},1E5:{other:"00\u842c"},1E6:{other:"000\u842c"},1E7:{other:"0000\u842c"},1E8:{other:"0\u5104"},1E9:{other:"00\u5104"},1E10:{other:"000\u5104"},
1E11:{other:"0000\u5104"},1E12:{other:"0\u5146"},1E13:{other:"00\u5146"},1E14:{other:"000\u5146"}}};
goog.i18n.CompactNumberFormatSymbols_zu={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0K"},1E4:{other:"00K"},1E5:{other:"000K"},1E6:{other:"0M"},1E7:{other:"00M"},1E8:{other:"000M"},1E9:{other:"0B"},1E10:{other:"00B"},1E11:{other:"000B"},1E12:{other:"0T"},1E13:{other:"00T"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0 inkulungwane"},1E4:{other:"00 inkulungwane"},1E5:{other:"000 inkulungwane"},1E6:{other:"0 isigidi"},1E7:{other:"00 isigidi"},1E8:{other:"000 isigidi"},1E9:{other:"0 isigidi sezigidi"},
1E10:{other:"00 isigidi sezigidi"},1E11:{other:"000 isigidi sezigidi"},1E12:{other:"0 isigidintathu"},1E13:{other:"00 isigidintathu"},1E14:{other:"000 isigidintathu"}}};goog.i18n.CompactNumberFormatSymbols_zu_ZA=goog.i18n.CompactNumberFormatSymbols_zu;goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;"af"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_af);
if("af_ZA"==goog.LOCALE||"af-ZA"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_af;"am"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_am);if("am_ET"==goog.LOCALE||"am-ET"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_am;"ar"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ar);
if("ar_001"==goog.LOCALE||"ar-001"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ar;"bg"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_bg);if("bg_BG"==goog.LOCALE||"bg-BG"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_bg;"bn"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_bn);
if("bn_BD"==goog.LOCALE||"bn-BD"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_bn;"br"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_br);if("br_FR"==goog.LOCALE||"br-FR"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_br;"ca"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ca);
if("ca_AD"==goog.LOCALE||"ca-AD"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ca;if("ca_ES"==goog.LOCALE||"ca-ES"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ca;if("ca_FR"==goog.LOCALE||"ca-FR"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ca;if("ca_IT"==goog.LOCALE||"ca-IT"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ca;
"chr"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_chr);if("chr_US"==goog.LOCALE||"chr-US"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_chr;"cs"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_cs);if("cs_CZ"==goog.LOCALE||"cs-CZ"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_cs;
"cy"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_cy);if("cy_GB"==goog.LOCALE||"cy-GB"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_cy;"da"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_da);if("da_DK"==goog.LOCALE||"da-DK"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_da;
if("da_GL"==goog.LOCALE||"da-GL"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_da;"de"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_de);if("de_AT"==goog.LOCALE||"de-AT"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_de_AT;if("de_BE"==goog.LOCALE||"de-BE"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_de;
if("de_CH"==goog.LOCALE||"de-CH"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_de_CH;if("de_DE"==goog.LOCALE||"de-DE"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_de;if("de_LU"==goog.LOCALE||"de-LU"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_de;"el"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_el);
if("el_GR"==goog.LOCALE||"el-GR"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_el;"en"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en);if("en_001"==goog.LOCALE||"en-001"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_AS"==goog.LOCALE||"en-AS"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;
if("en_AU"==goog.LOCALE||"en-AU"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en_AU;if("en_DG"==goog.LOCALE||"en-DG"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_Dsrt_US"==goog.LOCALE||"en-Dsrt-US"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_FM"==goog.LOCALE||"en-FM"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;
if("en_GB"==goog.LOCALE||"en-GB"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en_GB;if("en_GU"==goog.LOCALE||"en-GU"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_IE"==goog.LOCALE||"en-IE"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en_IE;if("en_IN"==goog.LOCALE||"en-IN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en_IN;
if("en_IO"==goog.LOCALE||"en-IO"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_MH"==goog.LOCALE||"en-MH"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_MP"==goog.LOCALE||"en-MP"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_PR"==goog.LOCALE||"en-PR"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;
if("en_PW"==goog.LOCALE||"en-PW"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_SG"==goog.LOCALE||"en-SG"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en_SG;if("en_TC"==goog.LOCALE||"en-TC"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_UM"==goog.LOCALE||"en-UM"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;
if("en_US"==goog.LOCALE||"en-US"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_VG"==goog.LOCALE||"en-VG"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_VI"==goog.LOCALE||"en-VI"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;if("en_ZA"==goog.LOCALE||"en-ZA"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en_ZA;
if("en_ZW"==goog.LOCALE||"en-ZW"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_en;"es"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_es);if("es_419"==goog.LOCALE||"es-419"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_es_419;if("es_EA"==goog.LOCALE||"es-EA"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_es;
if("es_ES"==goog.LOCALE||"es-ES"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_es;if("es_IC"==goog.LOCALE||"es-IC"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_es;"et"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_et);if("et_EE"==goog.LOCALE||"et-EE"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_et;
"eu"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_eu);if("eu_ES"==goog.LOCALE||"eu-ES"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_eu;"fa"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fa);if("fa_IR"==goog.LOCALE||"fa-IR"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fa;"fi"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fi);
if("fi_FI"==goog.LOCALE||"fi-FI"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fi;"fil"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fil);if("fil_PH"==goog.LOCALE||"fil-PH"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fil;"fr"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr);
if("fr_BL"==goog.LOCALE||"fr-BL"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr;if("fr_CA"==goog.LOCALE||"fr-CA"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr_CA;if("fr_FR"==goog.LOCALE||"fr-FR"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr;if("fr_GF"==goog.LOCALE||"fr-GF"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr;
if("fr_GP"==goog.LOCALE||"fr-GP"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr;if("fr_MC"==goog.LOCALE||"fr-MC"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr;if("fr_MF"==goog.LOCALE||"fr-MF"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr;if("fr_MQ"==goog.LOCALE||"fr-MQ"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr;
if("fr_PM"==goog.LOCALE||"fr-PM"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr;if("fr_RE"==goog.LOCALE||"fr-RE"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr;if("fr_YT"==goog.LOCALE||"fr-YT"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_fr;"gl"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_gl);
if("gl_ES"==goog.LOCALE||"gl-ES"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_gl;"gsw"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_gsw);if("gsw_CH"==goog.LOCALE||"gsw-CH"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_gsw;if("gsw_LI"==goog.LOCALE||"gsw-LI"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_gsw;
"gu"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_gu);if("gu_IN"==goog.LOCALE||"gu-IN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_gu;"haw"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_haw);if("haw_US"==goog.LOCALE||"haw-US"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_haw;
"he"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_he);if("he_IL"==goog.LOCALE||"he-IL"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_he;"hi"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_hi);if("hi_IN"==goog.LOCALE||"hi-IN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_hi;"hr"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_hr);
if("hr_HR"==goog.LOCALE||"hr-HR"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_hr;"hu"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_hu);if("hu_HU"==goog.LOCALE||"hu-HU"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_hu;"id"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_id);
if("id_ID"==goog.LOCALE||"id-ID"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_id;"in"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_in);"is"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_is);if("is_IS"==goog.LOCALE||"is-IS"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_is;"it"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_it);
if("it_IT"==goog.LOCALE||"it-IT"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_it;if("it_SM"==goog.LOCALE||"it-SM"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_it;"iw"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_iw);"ja"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ja);
if("ja_JP"==goog.LOCALE||"ja-JP"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ja;"kn"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_kn);if("kn_IN"==goog.LOCALE||"kn-IN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_kn;"ko"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ko);
if("ko_KR"==goog.LOCALE||"ko-KR"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ko;"ln"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ln);if("ln_CD"==goog.LOCALE||"ln-CD"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ln;"lt"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_lt);
if("lt_LT"==goog.LOCALE||"lt-LT"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_lt;"lv"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_lv);if("lv_LV"==goog.LOCALE||"lv-LV"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_lv;"ml"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ml);
if("ml_IN"==goog.LOCALE||"ml-IN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ml;"mr"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_mr);if("mr_IN"==goog.LOCALE||"mr-IN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_mr;"ms"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ms);
if("ms_Latn_MY"==goog.LOCALE||"ms-Latn-MY"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ms;"mt"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_mt);if("mt_MT"==goog.LOCALE||"mt-MT"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_mt;"nb"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_nb);
if("nb_NO"==goog.LOCALE||"nb-NO"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_nb;if("nb_SJ"==goog.LOCALE||"nb-SJ"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_nb;"nl"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_nl);if("nl_NL"==goog.LOCALE||"nl-NL"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_nl;
"no"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_no);"or"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_or);if("or_IN"==goog.LOCALE||"or-IN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_or;"pl"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_pl);if("pl_PL"==goog.LOCALE||"pl-PL"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_pl;
"pt"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_pt);if("pt_BR"==goog.LOCALE||"pt-BR"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_pt;if("pt_PT"==goog.LOCALE||"pt-PT"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_pt_PT;"ro"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ro);
if("ro_RO"==goog.LOCALE||"ro-RO"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ro;"ru"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ru);if("ru_RU"==goog.LOCALE||"ru-RU"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ru;"sk"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sk);
if("sk_SK"==goog.LOCALE||"sk-SK"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sk;"sl"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sl);if("sl_SI"==goog.LOCALE||"sl-SI"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sl;"sq"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sq);
if("sq_AL"==goog.LOCALE||"sq-AL"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sq;"sr"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sr);if("sr_Cyrl_RS"==goog.LOCALE||"sr-Cyrl-RS"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sr;"sv"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sv);
if("sv_SE"==goog.LOCALE||"sv-SE"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sv;"sw"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sw);if("sw_TZ"==goog.LOCALE||"sw-TZ"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_sw;"ta"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ta);
if("ta_IN"==goog.LOCALE||"ta-IN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ta;"te"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_te);if("te_IN"==goog.LOCALE||"te-IN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_te;"th"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_th);
if("th_TH"==goog.LOCALE||"th-TH"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_th;"tl"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_tl);"tr"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_tr);if("tr_TR"==goog.LOCALE||"tr-TR"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_tr;"uk"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_uk);
if("uk_UA"==goog.LOCALE||"uk-UA"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_uk;"ur"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ur);if("ur_PK"==goog.LOCALE||"ur-PK"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_ur;"vi"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_vi);
if("vi_VN"==goog.LOCALE||"vi-VN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_vi;"zh"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_zh);if("zh_CN"==goog.LOCALE||"zh-CN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_zh;if("zh_HK"==goog.LOCALE||"zh-HK"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_zh_HK;
if("zh_Hans_CN"==goog.LOCALE||"zh-Hans-CN"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_zh;if("zh_TW"==goog.LOCALE||"zh-TW"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_zh_TW;"zu"==goog.LOCALE&&(goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_zu);if("zu_ZA"==goog.LOCALE||"zu-ZA"==goog.LOCALE)goog.i18n.CompactNumberFormatSymbols=goog.i18n.CompactNumberFormatSymbols_zu;goog.i18n.currency={};goog.i18n.currency.PRECISION_MASK_=7;goog.i18n.currency.POSITION_FLAG_=16;goog.i18n.currency.SPACE_FLAG_=32;goog.i18n.currency.tier2Enabled_=!1;goog.i18n.currency.addTier2Support=function(){if(!goog.i18n.currency.tier2Enabled_){for(var a in goog.i18n.currency.CurrencyInfoTier2)goog.i18n.currency.CurrencyInfo[a]=goog.i18n.currency.CurrencyInfoTier2[a];goog.i18n.currency.tier2Enabled_=!0}};
goog.i18n.currency.getGlobalCurrencyPattern=function(a){var b=goog.i18n.currency.CurrencyInfo[a],c=b[0];return a==b[1]?goog.i18n.currency.getCurrencyPattern_(c,b[1]):a+" "+goog.i18n.currency.getCurrencyPattern_(c,b[1])};goog.i18n.currency.getGlobalCurrencySign=function(a){var b=goog.i18n.currency.CurrencyInfo[a];return a==b[1]?a:a+" "+b[1]};goog.i18n.currency.getLocalCurrencyPattern=function(a){a=goog.i18n.currency.CurrencyInfo[a];return goog.i18n.currency.getCurrencyPattern_(a[0],a[1])};
goog.i18n.currency.getLocalCurrencySign=function(a){return goog.i18n.currency.CurrencyInfo[a][1]};goog.i18n.currency.getPortableCurrencyPattern=function(a){a=goog.i18n.currency.CurrencyInfo[a];return goog.i18n.currency.getCurrencyPattern_(a[0],a[2])};goog.i18n.currency.getPortableCurrencySign=function(a){return goog.i18n.currency.CurrencyInfo[a][2]};goog.i18n.currency.isPrefixSignPosition=function(a){return 0==(goog.i18n.currency.CurrencyInfo[a][0]&goog.i18n.currency.POSITION_FLAG_)};
goog.i18n.currency.getCurrencyPattern_=function(a,b){var c=["#,##0"],d=a&goog.i18n.currency.PRECISION_MASK_;if(0<d){c.push(".");for(var e=0;e<d;e++)c.push("0")}0==(a&goog.i18n.currency.POSITION_FLAG_)?(c.unshift(a&goog.i18n.currency.SPACE_FLAG_?"' ":"'"),c.unshift(b),c.unshift("'")):c.push(a&goog.i18n.currency.SPACE_FLAG_?" '":"'",b,"'");return c.join("")};
goog.i18n.currency.adjustPrecision=function(a,b){var c=["0"],d=goog.i18n.currency.CurrencyInfo[b],d=d[0]&goog.i18n.currency.PRECISION_MASK_;if(0<d){c.push(".");for(var e=0;e<d;e++)c.push("0")}return a.replace(/0.00/g,c.join(""))};
goog.i18n.currency.CurrencyInfo={AED:[2,"dh","\u062f.\u0625.","DH"],ALL:[0,"Lek","Lek"],AUD:[2,"$","AU$"],BDT:[2,"\u09f3","Tk"],BGN:[2,"lev","lev"],BRL:[2,"R$","R$"],CAD:[2,"$","C$"],CDF:[2,"FrCD","CDF"],CHF:[2,"CHF","CHF"],CLP:[0,"$","CL$"],CNY:[2,"\u00a5","RMB\u00a5"],COP:[0,"$","COL$"],CRC:[0,"\u20a1","CR\u20a1"],CZK:[50,"K\u010d","K\u010d"],DKK:[18,"kr","kr"],DOP:[2,"$","RD$"],EGP:[2,"\u00a3","LE"],ETB:[2,"Birr","Birr"],EUR:[2,"\u20ac","\u20ac"],GBP:[2,"\u00a3","GB\u00a3"],HKD:[2,"$","HK$"],HRK:[2,
"kn","kn"],HUF:[0,"Ft","Ft"],IDR:[0,"Rp","Rp"],ILS:[2,"\u20aa","IL\u20aa"],INR:[2,"\u20b9","Rs"],IRR:[0,"Rial","IRR"],ISK:[0,"kr","kr"],JMD:[2,"$","JA$"],JPY:[0,"\u00a5","JP\u00a5"],KRW:[0,"\u20a9","KR\u20a9"],LKR:[2,"Rs","SLRs"],LTL:[2,"Lt","Lt"],LVL:[2,"Ls","Ls"],MNT:[0,"\u20ae","MN\u20ae"],MXN:[2,"$","Mex$"],MYR:[2,"RM","RM"],NOK:[50,"kr","NOkr"],PAB:[2,"B/.","B/."],PEN:[2,"S/.","S/."],PHP:[2,"\u20b1","Php"],PKR:[0,"Rs","PKRs."],PLN:[50,"z\u0142","z\u0142"],RON:[2,"RON","RON"],RSD:[0,"din","RSD"],
RUB:[50,"\u0440\u0443\u0431.","\u0440\u0443\u0431."],SAR:[2,"Rial","Rial"],SEK:[2,"kr","kr"],SGD:[2,"$","S$"],THB:[2,"\u0e3f","THB"],TRY:[2,"TL","YTL"],TWD:[2,"NT$","NT$"],TZS:[0,"TSh","TSh"],UAH:[2,"\u20b4","UAH"],USD:[2,"$","US$"],UYU:[2,"$","$U"],VND:[0,"\u20ab","VN\u20ab"],YER:[0,"Rial","Rial"],ZAR:[2,"R","ZAR"]};
goog.i18n.currency.CurrencyInfoTier2={AFN:[48,"Af.","AFN"],AMD:[0,"Dram","dram"],AOA:[2,"Kz","Kz"],ARS:[2,"$","AR$"],AWG:[2,"Afl.","Afl."],AZN:[2,"man.","man."],BAM:[2,"KM","KM"],BBD:[2,"$","Bds$"],BHD:[3,"din","din"],BIF:[0,"FBu","FBu"],BMD:[2,"$","BD$"],BND:[2,"$","B$"],BOB:[2,"Bs","Bs"],BSD:[2,"$","BS$"],BTN:[2,"Nu.","Nu."],BWP:[2,"P","pula"],BYR:[0,"BYR","BYR"],BZD:[2,"$","BZ$"],CUC:[1,"$","CUC$"],CUP:[2,"$","CU$"],CVE:[2,"CVE","Esc"],DJF:[0,"Fdj","Fdj"],DZD:[2,"din","din"],ERN:[2,"Nfk","Nfk"],
FJD:[2,"$","FJ$"],FKP:[2,"\u00a3","FK\u00a3"],GEL:[2,"GEL","GEL"],GHS:[2,"GHS","GHS"],GIP:[2,"\u00a3","GI\u00a3"],GMD:[2,"GMD","GMD"],GNF:[0,"FG","FG"],GTQ:[2,"Q","GTQ"],GYD:[0,"$","GY$"],HNL:[2,"L","HNL"],HTG:[2,"HTG","HTG"],IQD:[0,"din","IQD"],JOD:[3,"din","JOD"],KES:[2,"Ksh","Ksh"],KGS:[2,"KGS","KGS"],KHR:[2,"Riel","KHR"],KMF:[0,"CF","KMF"],KPW:[0,"\u20a9KP","KPW"],KWD:[3,"din","KWD"],KYD:[2,"$","KY$"],KZT:[2,"\u20b8","KZT"],LAK:[0,"\u20ad","\u20ad"],LBP:[0,"L\u00a3","LBP"],LRD:[2,"$","L$"],LSL:[2,
"LSL","LSL"],LYD:[3,"din","LD"],MAD:[2,"dh","MAD"],MDL:[2,"MDL","MDL"],MGA:[0,"Ar","MGA"],MKD:[2,"din","MKD"],MMK:[0,"K","MMK"],MOP:[2,"MOP","MOP$"],MRO:[0,"MRO","MRO"],MUR:[0,"MURs","MURs"],MWK:[2,"MWK","MWK"],MZN:[2,"MTn","MTn"],NAD:[2,"$","N$"],NGN:[2,"\u20a6","NG\u20a6"],NIO:[2,"C$","C$"],NPR:[2,"Rs","NPRs"],NZD:[2,"$","NZ$"],OMR:[3,"Rial","OMR"],PGK:[2,"PGK","PGK"],PYG:[0,"Gs","PYG"],QAR:[2,"Rial","QR"],RWF:[0,"RF","RF"],SBD:[2,"$","SI$"],SCR:[2,"SCR","SCR"],SDG:[2,"SDG","SDG"],SHP:[2,"\u00a3",
"SH\u00a3"],SLL:[0,"SLL","SLL"],SOS:[0,"SOS","SOS"],SRD:[2,"$","SR$"],STD:[0,"Db","Db"],SYP:[0,"\u00a3","SY\u00a3"],SZL:[2,"SZL","SZL"],TJS:[2,"Som","TJS"],TND:[3,"din","DT"],TOP:[2,"T$","T$"],TTD:[2,"$","TT$"],UGX:[0,"UGX","UGX"],UZS:[0,"so\u02bcm","UZS"],VEF:[2,"Bs","Bs"],VUV:[0,"VUV","VUV"],WST:[2,"WST","WST"],XAF:[0,"FCFA","FCFA"],XCD:[2,"$","EC$"],XOF:[0,"CFA","CFA"],XPF:[0,"FCFP","FCFP"],ZMK:[0,"ZMK","ZMK"]};goog.i18n.NumberFormatSymbols_af={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"ZAR"};goog.i18n.NumberFormatSymbols_af_ZA=goog.i18n.NumberFormatSymbols_af;
goog.i18n.NumberFormatSymbols_am={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"ETB"};goog.i18n.NumberFormatSymbols_am_ET=goog.i18n.NumberFormatSymbols_am;
goog.i18n.NumberFormatSymbols_ar={DECIMAL_SEP:"\u066b",GROUP_SEP:"\u066c",PERCENT:"\u066a",ZERO_DIGIT:"\u0660",PLUS_SIGN:"\u200f+",MINUS_SIGN:"\u200f-",EXP_SYMBOL:"\u0627\u0633",PERMILL:"\u0609",INFINITY:"\u221e",NAN:"\u0644\u064a\u0633\u00a0\u0631\u0642\u0645",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4\u00a0#,##0.00",DEF_CURRENCY_CODE:"EGP"};goog.i18n.NumberFormatSymbols_ar_001=goog.i18n.NumberFormatSymbols_ar;
goog.i18n.NumberFormatSymbols_bg={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"BGN"};goog.i18n.NumberFormatSymbols_bg_BG=goog.i18n.NumberFormatSymbols_bg;
goog.i18n.NumberFormatSymbols_bn={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"\u09e6",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"\u09b8\u0982\u0996\u09cd\u09af\u09be\u00a0\u09a8\u09be",DECIMAL_PATTERN:"#,##,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##,##0%",CURRENCY_PATTERN:"#,##,##0.00\u00a4;(#,##,##0.00\u00a4)",DEF_CURRENCY_CODE:"BDT"};goog.i18n.NumberFormatSymbols_bn_BD=goog.i18n.NumberFormatSymbols_bn;
goog.i18n.NumberFormatSymbols_br={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4\u00a0#,##0.00",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_br_FR=goog.i18n.NumberFormatSymbols_br;
goog.i18n.NumberFormatSymbols_ca={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_ca_AD=goog.i18n.NumberFormatSymbols_ca;goog.i18n.NumberFormatSymbols_ca_ES=goog.i18n.NumberFormatSymbols_ca;goog.i18n.NumberFormatSymbols_ca_FR=goog.i18n.NumberFormatSymbols_ca;
goog.i18n.NumberFormatSymbols_ca_IT=goog.i18n.NumberFormatSymbols_ca;goog.i18n.NumberFormatSymbols_chr={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"USD"};goog.i18n.NumberFormatSymbols_chr_US=goog.i18n.NumberFormatSymbols_chr;
goog.i18n.NumberFormatSymbols_cs={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"CZK"};goog.i18n.NumberFormatSymbols_cs_CZ=goog.i18n.NumberFormatSymbols_cs;
goog.i18n.NumberFormatSymbols_cy={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"GBP"};goog.i18n.NumberFormatSymbols_cy_GB=goog.i18n.NumberFormatSymbols_cy;
goog.i18n.NumberFormatSymbols_da={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"DKK"};goog.i18n.NumberFormatSymbols_da_DK=goog.i18n.NumberFormatSymbols_da;goog.i18n.NumberFormatSymbols_da_GL=goog.i18n.NumberFormatSymbols_da;
goog.i18n.NumberFormatSymbols_de={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"EUR"};
goog.i18n.NumberFormatSymbols_de_AT={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"\u00a4\u00a0#,##0.00",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_de_BE=goog.i18n.NumberFormatSymbols_de;
goog.i18n.NumberFormatSymbols_de_CH={DECIMAL_SEP:".",GROUP_SEP:"'",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"\u00a4\u00a0#,##0.00;\u00a4-#,##0.00",DEF_CURRENCY_CODE:"CHF"};goog.i18n.NumberFormatSymbols_de_DE=goog.i18n.NumberFormatSymbols_de;goog.i18n.NumberFormatSymbols_de_LU=goog.i18n.NumberFormatSymbols_de;
goog.i18n.NumberFormatSymbols_el={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"e",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_el_GR=goog.i18n.NumberFormatSymbols_el;
goog.i18n.NumberFormatSymbols_en={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"USD"};goog.i18n.NumberFormatSymbols_en_001=goog.i18n.NumberFormatSymbols_en;goog.i18n.NumberFormatSymbols_en_AS=goog.i18n.NumberFormatSymbols_en;
goog.i18n.NumberFormatSymbols_en_AU={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"AUD"};goog.i18n.NumberFormatSymbols_en_DG=goog.i18n.NumberFormatSymbols_en;goog.i18n.NumberFormatSymbols_en_Dsrt_US=goog.i18n.NumberFormatSymbols_en;goog.i18n.NumberFormatSymbols_en_FM=goog.i18n.NumberFormatSymbols_en;
goog.i18n.NumberFormatSymbols_en_GB={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"GBP"};goog.i18n.NumberFormatSymbols_en_GU=goog.i18n.NumberFormatSymbols_en;
goog.i18n.NumberFormatSymbols_en_IE={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"EUR"};
goog.i18n.NumberFormatSymbols_en_IN={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##,##0%",CURRENCY_PATTERN:"\u00a4\u00a0#,##,##0.00",DEF_CURRENCY_CODE:"INR"};goog.i18n.NumberFormatSymbols_en_IO=goog.i18n.NumberFormatSymbols_en;goog.i18n.NumberFormatSymbols_en_MH=goog.i18n.NumberFormatSymbols_en;
goog.i18n.NumberFormatSymbols_en_MP=goog.i18n.NumberFormatSymbols_en;goog.i18n.NumberFormatSymbols_en_PR=goog.i18n.NumberFormatSymbols_en;goog.i18n.NumberFormatSymbols_en_PW=goog.i18n.NumberFormatSymbols_en;
goog.i18n.NumberFormatSymbols_en_SG={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"SGD"};goog.i18n.NumberFormatSymbols_en_TC=goog.i18n.NumberFormatSymbols_en;goog.i18n.NumberFormatSymbols_en_UM=goog.i18n.NumberFormatSymbols_en;goog.i18n.NumberFormatSymbols_en_US=goog.i18n.NumberFormatSymbols_en;
goog.i18n.NumberFormatSymbols_en_VG=goog.i18n.NumberFormatSymbols_en;goog.i18n.NumberFormatSymbols_en_VI=goog.i18n.NumberFormatSymbols_en;goog.i18n.NumberFormatSymbols_en_ZA={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"ZAR"};goog.i18n.NumberFormatSymbols_en_ZW=goog.i18n.NumberFormatSymbols_en;
goog.i18n.NumberFormatSymbols_es={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"EUR"};
goog.i18n.NumberFormatSymbols_es_419={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"MXN"};goog.i18n.NumberFormatSymbols_es_EA=goog.i18n.NumberFormatSymbols_es;goog.i18n.NumberFormatSymbols_es_ES=goog.i18n.NumberFormatSymbols_es;goog.i18n.NumberFormatSymbols_es_IC=goog.i18n.NumberFormatSymbols_es;
goog.i18n.NumberFormatSymbols_et={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"\u00d710^",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_et_EE=goog.i18n.NumberFormatSymbols_et;
goog.i18n.NumberFormatSymbols_eu={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"%\u00a0#,##0",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_eu_ES=goog.i18n.NumberFormatSymbols_eu;
goog.i18n.NumberFormatSymbols_fa={DECIMAL_SEP:"\u066b",GROUP_SEP:"\u066c",PERCENT:"\u066a",ZERO_DIGIT:"\u06f0",PLUS_SIGN:"\u200e+\u200e",MINUS_SIGN:"\u200e\u2212",EXP_SYMBOL:"\u00d7\u06f1\u06f0^",PERMILL:"\u0609",INFINITY:"\u221e",NAN:"\u0646\u0627\u0639\u062f\u062f",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u200e\u00a4#,##0.00",DEF_CURRENCY_CODE:"IRR"};goog.i18n.NumberFormatSymbols_fa_IR=goog.i18n.NumberFormatSymbols_fa;
goog.i18n.NumberFormatSymbols_fi={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"\u2212",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"ep\u00e4luku",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_fi_FI=goog.i18n.NumberFormatSymbols_fi;
goog.i18n.NumberFormatSymbols_fil={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"PHP"};goog.i18n.NumberFormatSymbols_fil_PH=goog.i18n.NumberFormatSymbols_fil;
goog.i18n.NumberFormatSymbols_fr={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_fr_BL=goog.i18n.NumberFormatSymbols_fr;
goog.i18n.NumberFormatSymbols_fr_CA={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"CAD"};goog.i18n.NumberFormatSymbols_fr_FR=goog.i18n.NumberFormatSymbols_fr;goog.i18n.NumberFormatSymbols_fr_GF=goog.i18n.NumberFormatSymbols_fr;
goog.i18n.NumberFormatSymbols_fr_GP=goog.i18n.NumberFormatSymbols_fr;goog.i18n.NumberFormatSymbols_fr_MC=goog.i18n.NumberFormatSymbols_fr;goog.i18n.NumberFormatSymbols_fr_MF=goog.i18n.NumberFormatSymbols_fr;goog.i18n.NumberFormatSymbols_fr_MQ=goog.i18n.NumberFormatSymbols_fr;goog.i18n.NumberFormatSymbols_fr_PM=goog.i18n.NumberFormatSymbols_fr;goog.i18n.NumberFormatSymbols_fr_RE=goog.i18n.NumberFormatSymbols_fr;goog.i18n.NumberFormatSymbols_fr_YT=goog.i18n.NumberFormatSymbols_fr;
goog.i18n.NumberFormatSymbols_gl={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_gl_ES=goog.i18n.NumberFormatSymbols_gl;
goog.i18n.NumberFormatSymbols_gsw={DECIMAL_SEP:".",GROUP_SEP:"\u2019",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"\u2212",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"CHF"};goog.i18n.NumberFormatSymbols_gsw_CH=goog.i18n.NumberFormatSymbols_gsw;goog.i18n.NumberFormatSymbols_gsw_LI=goog.i18n.NumberFormatSymbols_gsw;
goog.i18n.NumberFormatSymbols_gu={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##,##0%",CURRENCY_PATTERN:"\u00a4#,##,##0.00",DEF_CURRENCY_CODE:"INR"};goog.i18n.NumberFormatSymbols_gu_IN=goog.i18n.NumberFormatSymbols_gu;
goog.i18n.NumberFormatSymbols_haw={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"USD"};goog.i18n.NumberFormatSymbols_haw_US=goog.i18n.NumberFormatSymbols_haw;
goog.i18n.NumberFormatSymbols_he={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"\u200e+",MINUS_SIGN:"\u200e-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"ILS"};goog.i18n.NumberFormatSymbols_he_IL=goog.i18n.NumberFormatSymbols_he;
goog.i18n.NumberFormatSymbols_hi={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##,##0%",CURRENCY_PATTERN:"\u00a4#,##,##0.00",DEF_CURRENCY_CODE:"INR"};goog.i18n.NumberFormatSymbols_hi_IN=goog.i18n.NumberFormatSymbols_hi;
goog.i18n.NumberFormatSymbols_hr={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"HRK"};goog.i18n.NumberFormatSymbols_hr_HR=goog.i18n.NumberFormatSymbols_hr;
goog.i18n.NumberFormatSymbols_hu={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"HUF"};goog.i18n.NumberFormatSymbols_hu_HU=goog.i18n.NumberFormatSymbols_hu;
goog.i18n.NumberFormatSymbols_id={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"IDR"};goog.i18n.NumberFormatSymbols_id_ID=goog.i18n.NumberFormatSymbols_id;
goog.i18n.NumberFormatSymbols_in={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"IDR"};
goog.i18n.NumberFormatSymbols_is={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"ISK"};goog.i18n.NumberFormatSymbols_is_IS=goog.i18n.NumberFormatSymbols_is;
goog.i18n.NumberFormatSymbols_it={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_it_IT=goog.i18n.NumberFormatSymbols_it;goog.i18n.NumberFormatSymbols_it_SM=goog.i18n.NumberFormatSymbols_it;
goog.i18n.NumberFormatSymbols_iw={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"\u200e+",MINUS_SIGN:"\u200e-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"ILS"};
goog.i18n.NumberFormatSymbols_ja={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"JPY"};goog.i18n.NumberFormatSymbols_ja_JP=goog.i18n.NumberFormatSymbols_ja;
goog.i18n.NumberFormatSymbols_kn={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"\u0c88",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"INR"};goog.i18n.NumberFormatSymbols_kn_IN=goog.i18n.NumberFormatSymbols_kn;
goog.i18n.NumberFormatSymbols_ko={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00;(\u00a4#,##0.00)",DEF_CURRENCY_CODE:"KRW"};goog.i18n.NumberFormatSymbols_ko_KR=goog.i18n.NumberFormatSymbols_ko;
goog.i18n.NumberFormatSymbols_ln={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"CDF"};goog.i18n.NumberFormatSymbols_ln_CD=goog.i18n.NumberFormatSymbols_ln;
goog.i18n.NumberFormatSymbols_lt={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"\u2212",EXP_SYMBOL:"\u00d710^",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"LTL"};goog.i18n.NumberFormatSymbols_lt_LT=goog.i18n.NumberFormatSymbols_lt;
goog.i18n.NumberFormatSymbols_lv={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"nav\u00a0skaitlis",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00;(\u00a4#,##0.00)",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_lv_LV=goog.i18n.NumberFormatSymbols_lv;
goog.i18n.NumberFormatSymbols_ml={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##,##0%",CURRENCY_PATTERN:"#,##,##0.00\u00a4",DEF_CURRENCY_CODE:"INR"};goog.i18n.NumberFormatSymbols_ml_IN=goog.i18n.NumberFormatSymbols_ml;
goog.i18n.NumberFormatSymbols_mr={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"\u0966",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"[#E0]",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"INR"};goog.i18n.NumberFormatSymbols_mr_IN=goog.i18n.NumberFormatSymbols_mr;
goog.i18n.NumberFormatSymbols_ms={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"MYR"};goog.i18n.NumberFormatSymbols_ms_Latn_MY=goog.i18n.NumberFormatSymbols_ms;
goog.i18n.NumberFormatSymbols_mt={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_mt_MT=goog.i18n.NumberFormatSymbols_mt;
goog.i18n.NumberFormatSymbols_nb={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"\u2212",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"\u00a4\u00a0#,##0.00",DEF_CURRENCY_CODE:"NOK"};goog.i18n.NumberFormatSymbols_nb_NO=goog.i18n.NumberFormatSymbols_nb;goog.i18n.NumberFormatSymbols_nb_SJ=goog.i18n.NumberFormatSymbols_nb;
goog.i18n.NumberFormatSymbols_nl={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4\u00a0#,##0.00;\u00a4\u00a0#,##0.00-",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_nl_NL=goog.i18n.NumberFormatSymbols_nl;
goog.i18n.NumberFormatSymbols_no={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"\u2212",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"\u00a4\u00a0#,##0.00",DEF_CURRENCY_CODE:"NOK"};
goog.i18n.NumberFormatSymbols_or={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##,##0%",CURRENCY_PATTERN:"\u00a4\u00a0#,##,##0.00",DEF_CURRENCY_CODE:"INR"};goog.i18n.NumberFormatSymbols_or_IN=goog.i18n.NumberFormatSymbols_or;
goog.i18n.NumberFormatSymbols_pl={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"PLN"};goog.i18n.NumberFormatSymbols_pl_PL=goog.i18n.NumberFormatSymbols_pl;
goog.i18n.NumberFormatSymbols_pt={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"BRL"};goog.i18n.NumberFormatSymbols_pt_BR=goog.i18n.NumberFormatSymbols_pt;
goog.i18n.NumberFormatSymbols_pt_PT={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"EUR"};
goog.i18n.NumberFormatSymbols_ro={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"RON"};goog.i18n.NumberFormatSymbols_ro_RO=goog.i18n.NumberFormatSymbols_ro;
goog.i18n.NumberFormatSymbols_ru={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"\u043d\u0435\u00a0\u0447\u0438\u0441\u043b\u043e",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"RUB"};goog.i18n.NumberFormatSymbols_ru_RU=goog.i18n.NumberFormatSymbols_ru;
goog.i18n.NumberFormatSymbols_sk={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_sk_SK=goog.i18n.NumberFormatSymbols_sk;
goog.i18n.NumberFormatSymbols_sl={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"e",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00;(\u00a4#,##0.00)",DEF_CURRENCY_CODE:"EUR"};goog.i18n.NumberFormatSymbols_sl_SI=goog.i18n.NumberFormatSymbols_sl;
goog.i18n.NumberFormatSymbols_sq={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"ALL"};goog.i18n.NumberFormatSymbols_sq_AL=goog.i18n.NumberFormatSymbols_sq;
goog.i18n.NumberFormatSymbols_sr={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"RSD"};goog.i18n.NumberFormatSymbols_sr_Cyrl_RS=goog.i18n.NumberFormatSymbols_sr;
goog.i18n.NumberFormatSymbols_sv={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"\u2212",EXP_SYMBOL:"\u00d710^",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"\u00a4\u00a4\u00a4",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0\u00a0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"SEK"};goog.i18n.NumberFormatSymbols_sv_SE=goog.i18n.NumberFormatSymbols_sv;
goog.i18n.NumberFormatSymbols_sw={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"TZS"};goog.i18n.NumberFormatSymbols_sw_TZ=goog.i18n.NumberFormatSymbols_sw;
goog.i18n.NumberFormatSymbols_ta={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##,##0%",CURRENCY_PATTERN:"\u00a4\u00a0#,##,##0.00",DEF_CURRENCY_CODE:"INR"};goog.i18n.NumberFormatSymbols_ta_IN=goog.i18n.NumberFormatSymbols_ta;
goog.i18n.NumberFormatSymbols_te={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"INR"};goog.i18n.NumberFormatSymbols_te_IN=goog.i18n.NumberFormatSymbols_te;
goog.i18n.NumberFormatSymbols_th={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"THB"};goog.i18n.NumberFormatSymbols_th_TH=goog.i18n.NumberFormatSymbols_th;
goog.i18n.NumberFormatSymbols_tl={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"PHP"};
goog.i18n.NumberFormatSymbols_tr={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"%#,##0",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"TRY"};goog.i18n.NumberFormatSymbols_tr_TR=goog.i18n.NumberFormatSymbols_tr;
goog.i18n.NumberFormatSymbols_uk={DECIMAL_SEP:",",GROUP_SEP:"\u00a0",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"\u0415",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"\u041d\u0435\u00a0\u0447\u0438\u0441\u043b\u043e",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"UAH"};goog.i18n.NumberFormatSymbols_uk_UA=goog.i18n.NumberFormatSymbols_uk;
goog.i18n.NumberFormatSymbols_ur={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"\u200e+",MINUS_SIGN:"\u200e-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00\u200e",DEF_CURRENCY_CODE:"PKR"};goog.i18n.NumberFormatSymbols_ur_PK=goog.i18n.NumberFormatSymbols_ur;
goog.i18n.NumberFormatSymbols_vi={DECIMAL_SEP:",",GROUP_SEP:".",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4",DEF_CURRENCY_CODE:"VND"};goog.i18n.NumberFormatSymbols_vi_VN=goog.i18n.NumberFormatSymbols_vi;
goog.i18n.NumberFormatSymbols_zh={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4\u00a0#,##0.00",DEF_CURRENCY_CODE:"CNY"};goog.i18n.NumberFormatSymbols_zh_CN=goog.i18n.NumberFormatSymbols_zh;
goog.i18n.NumberFormatSymbols_zh_HK={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"\u975e\u6578\u503c",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"HKD"};goog.i18n.NumberFormatSymbols_zh_Hans_CN=goog.i18n.NumberFormatSymbols_zh;
goog.i18n.NumberFormatSymbols_zh_TW={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"\u975e\u6578\u503c",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"TWD"};
goog.i18n.NumberFormatSymbols_zu={DECIMAL_SEP:".",GROUP_SEP:",",PERCENT:"%",ZERO_DIGIT:"0",PLUS_SIGN:"+",MINUS_SIGN:"-",EXP_SYMBOL:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"I-NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4#,##0.00",DEF_CURRENCY_CODE:"ZAR"};goog.i18n.NumberFormatSymbols_zu_ZA=goog.i18n.NumberFormatSymbols_zu;goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;
"af"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_af);if("af_ZA"==goog.LOCALE||"af-ZA"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_af;"am"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_am);if("am_ET"==goog.LOCALE||"am-ET"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_am;"ar"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ar);
if("ar_001"==goog.LOCALE||"ar-001"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ar;"bg"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_bg);if("bg_BG"==goog.LOCALE||"bg-BG"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_bg;"bn"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_bn);if("bn_BD"==goog.LOCALE||"bn-BD"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_bn;
"br"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_br);if("br_FR"==goog.LOCALE||"br-FR"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_br;"ca"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ca);if("ca_AD"==goog.LOCALE||"ca-AD"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ca;if("ca_ES"==goog.LOCALE||"ca-ES"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ca;
if("ca_FR"==goog.LOCALE||"ca-FR"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ca;if("ca_IT"==goog.LOCALE||"ca-IT"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ca;"chr"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_chr);if("chr_US"==goog.LOCALE||"chr-US"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_chr;"cs"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_cs);
if("cs_CZ"==goog.LOCALE||"cs-CZ"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_cs;"cy"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_cy);if("cy_GB"==goog.LOCALE||"cy-GB"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_cy;"da"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_da);if("da_DK"==goog.LOCALE||"da-DK"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_da;
if("da_GL"==goog.LOCALE||"da-GL"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_da;"de"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_de);if("de_AT"==goog.LOCALE||"de-AT"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_de_AT;if("de_BE"==goog.LOCALE||"de-BE"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_de;if("de_CH"==goog.LOCALE||"de-CH"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_de_CH;
if("de_DE"==goog.LOCALE||"de-DE"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_de;if("de_LU"==goog.LOCALE||"de-LU"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_de;"el"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_el);if("el_GR"==goog.LOCALE||"el-GR"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_el;"en"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en);
if("en_001"==goog.LOCALE||"en-001"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_AS"==goog.LOCALE||"en-AS"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_AU"==goog.LOCALE||"en-AU"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en_AU;if("en_DG"==goog.LOCALE||"en-DG"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;
if("en_Dsrt_US"==goog.LOCALE||"en-Dsrt-US"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_FM"==goog.LOCALE||"en-FM"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_GB"==goog.LOCALE||"en-GB"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en_GB;if("en_GU"==goog.LOCALE||"en-GU"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;
if("en_IE"==goog.LOCALE||"en-IE"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en_IE;if("en_IN"==goog.LOCALE||"en-IN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en_IN;if("en_IO"==goog.LOCALE||"en-IO"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_MH"==goog.LOCALE||"en-MH"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;
if("en_MP"==goog.LOCALE||"en-MP"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_PR"==goog.LOCALE||"en-PR"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_PW"==goog.LOCALE||"en-PW"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_SG"==goog.LOCALE||"en-SG"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en_SG;
if("en_TC"==goog.LOCALE||"en-TC"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_UM"==goog.LOCALE||"en-UM"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_US"==goog.LOCALE||"en-US"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_VG"==goog.LOCALE||"en-VG"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;
if("en_VI"==goog.LOCALE||"en-VI"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;if("en_ZA"==goog.LOCALE||"en-ZA"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en_ZA;if("en_ZW"==goog.LOCALE||"en-ZW"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_en;"es"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_es);if("es_419"==goog.LOCALE||"es-419"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_es_419;
if("es_EA"==goog.LOCALE||"es-EA"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_es;if("es_ES"==goog.LOCALE||"es-ES"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_es;if("es_IC"==goog.LOCALE||"es-IC"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_es;"et"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_et);if("et_EE"==goog.LOCALE||"et-EE"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_et;
"eu"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_eu);if("eu_ES"==goog.LOCALE||"eu-ES"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_eu;"fa"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fa);if("fa_IR"==goog.LOCALE||"fa-IR"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fa;"fi"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fi);
if("fi_FI"==goog.LOCALE||"fi-FI"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fi;"fil"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fil);if("fil_PH"==goog.LOCALE||"fil-PH"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fil;"fr"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr);if("fr_BL"==goog.LOCALE||"fr-BL"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr;
if("fr_CA"==goog.LOCALE||"fr-CA"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr_CA;if("fr_FR"==goog.LOCALE||"fr-FR"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr;if("fr_GF"==goog.LOCALE||"fr-GF"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr;if("fr_GP"==goog.LOCALE||"fr-GP"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr;
if("fr_MC"==goog.LOCALE||"fr-MC"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr;if("fr_MF"==goog.LOCALE||"fr-MF"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr;if("fr_MQ"==goog.LOCALE||"fr-MQ"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr;if("fr_PM"==goog.LOCALE||"fr-PM"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr;
if("fr_RE"==goog.LOCALE||"fr-RE"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr;if("fr_YT"==goog.LOCALE||"fr-YT"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_fr;"gl"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_gl);if("gl_ES"==goog.LOCALE||"gl-ES"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_gl;"gsw"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_gsw);
if("gsw_CH"==goog.LOCALE||"gsw-CH"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_gsw;if("gsw_LI"==goog.LOCALE||"gsw-LI"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_gsw;"gu"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_gu);if("gu_IN"==goog.LOCALE||"gu-IN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_gu;"haw"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_haw);
if("haw_US"==goog.LOCALE||"haw-US"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_haw;"he"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_he);if("he_IL"==goog.LOCALE||"he-IL"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_he;"hi"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_hi);if("hi_IN"==goog.LOCALE||"hi-IN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_hi;
"hr"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_hr);if("hr_HR"==goog.LOCALE||"hr-HR"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_hr;"hu"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_hu);if("hu_HU"==goog.LOCALE||"hu-HU"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_hu;"id"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_id);
if("id_ID"==goog.LOCALE||"id-ID"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_id;"in"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_in);"is"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_is);if("is_IS"==goog.LOCALE||"is-IS"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_is;"it"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_it);
if("it_IT"==goog.LOCALE||"it-IT"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_it;if("it_SM"==goog.LOCALE||"it-SM"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_it;"iw"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_iw);"ja"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ja);if("ja_JP"==goog.LOCALE||"ja-JP"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ja;
"kn"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_kn);if("kn_IN"==goog.LOCALE||"kn-IN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_kn;"ko"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ko);if("ko_KR"==goog.LOCALE||"ko-KR"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ko;"ln"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ln);
if("ln_CD"==goog.LOCALE||"ln-CD"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ln;"lt"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_lt);if("lt_LT"==goog.LOCALE||"lt-LT"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_lt;"lv"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_lv);if("lv_LV"==goog.LOCALE||"lv-LV"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_lv;
"ml"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ml);if("ml_IN"==goog.LOCALE||"ml-IN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ml;"mr"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_mr);if("mr_IN"==goog.LOCALE||"mr-IN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_mr;"ms"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ms);
if("ms_Latn_MY"==goog.LOCALE||"ms-Latn-MY"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ms;"mt"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_mt);if("mt_MT"==goog.LOCALE||"mt-MT"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_mt;"nb"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_nb);if("nb_NO"==goog.LOCALE||"nb-NO"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_nb;
if("nb_SJ"==goog.LOCALE||"nb-SJ"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_nb;"nl"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_nl);if("nl_NL"==goog.LOCALE||"nl-NL"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_nl;"no"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_no);"or"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_or);
if("or_IN"==goog.LOCALE||"or-IN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_or;"pl"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_pl);if("pl_PL"==goog.LOCALE||"pl-PL"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_pl;"pt"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_pt);if("pt_BR"==goog.LOCALE||"pt-BR"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_pt;
if("pt_PT"==goog.LOCALE||"pt-PT"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_pt_PT;"ro"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ro);if("ro_RO"==goog.LOCALE||"ro-RO"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ro;"ru"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ru);if("ru_RU"==goog.LOCALE||"ru-RU"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ru;
"sk"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sk);if("sk_SK"==goog.LOCALE||"sk-SK"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sk;"sl"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sl);if("sl_SI"==goog.LOCALE||"sl-SI"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sl;"sq"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sq);
if("sq_AL"==goog.LOCALE||"sq-AL"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sq;"sr"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sr);if("sr_Cyrl_RS"==goog.LOCALE||"sr-Cyrl-RS"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sr;"sv"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sv);if("sv_SE"==goog.LOCALE||"sv-SE"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sv;
"sw"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sw);if("sw_TZ"==goog.LOCALE||"sw-TZ"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_sw;"ta"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ta);if("ta_IN"==goog.LOCALE||"ta-IN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ta;"te"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_te);
if("te_IN"==goog.LOCALE||"te-IN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_te;"th"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_th);if("th_TH"==goog.LOCALE||"th-TH"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_th;"tl"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_tl);"tr"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_tr);
if("tr_TR"==goog.LOCALE||"tr-TR"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_tr;"uk"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_uk);if("uk_UA"==goog.LOCALE||"uk-UA"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_uk;"ur"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ur);if("ur_PK"==goog.LOCALE||"ur-PK"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_ur;
"vi"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_vi);if("vi_VN"==goog.LOCALE||"vi-VN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_vi;"zh"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_zh);if("zh_CN"==goog.LOCALE||"zh-CN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_zh;if("zh_HK"==goog.LOCALE||"zh-HK"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_zh_HK;
if("zh_Hans_CN"==goog.LOCALE||"zh-Hans-CN"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_zh;if("zh_TW"==goog.LOCALE||"zh-TW"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_zh_TW;"zu"==goog.LOCALE&&(goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_zu);if("zu_ZA"==goog.LOCALE||"zu-ZA"==goog.LOCALE)goog.i18n.NumberFormatSymbols=goog.i18n.NumberFormatSymbols_zu;goog.i18n.NumberFormat=function(a,b,c){this.intlCurrencyCode_=b||goog.i18n.NumberFormatSymbols.DEF_CURRENCY_CODE;this.currencyStyle_=c||goog.i18n.NumberFormat.CurrencyStyle.LOCAL;this.maximumIntegerDigits_=40;this.minimumIntegerDigits_=1;this.significantDigits_=0;this.maximumFractionDigits_=3;this.minExponentDigits_=this.minimumFractionDigits_=0;this.showTrailingZeros_=this.useSignForPositiveExponent_=!1;this.positiveSuffix_=this.positivePrefix_="";this.negativePrefix_="-";this.negativeSuffix_="";
this.multiplier_=1;this.groupingSize_=3;this.useExponentialNotation_=this.decimalSeparatorAlwaysShown_=!1;this.compactStyle_=goog.i18n.NumberFormat.CompactStyle.NONE;this.baseFormattingNumber_=null;"number"==typeof a?this.applyStandardPattern_(a):this.applyPattern_(a)};goog.i18n.NumberFormat.Format={DECIMAL:1,SCIENTIFIC:2,PERCENT:3,CURRENCY:4,COMPACT_SHORT:5,COMPACT_LONG:6};goog.i18n.NumberFormat.CurrencyStyle={LOCAL:0,PORTABLE:1,GLOBAL:2};goog.i18n.NumberFormat.CompactStyle={NONE:0,SHORT:1,LONG:2};
goog.i18n.NumberFormat.enforceAsciiDigits_=!1;goog.i18n.NumberFormat.setEnforceAsciiDigits=function(a){goog.i18n.NumberFormat.enforceAsciiDigits_=a};goog.i18n.NumberFormat.isEnforceAsciiDigits=function(){return goog.i18n.NumberFormat.enforceAsciiDigits_};goog.i18n.NumberFormat.prototype.setMinimumFractionDigits=function(a){if(0<this.significantDigits_&&0<a)throw Error("Can't combine significant digits and minimum fraction digits");this.minimumFractionDigits_=a;return this};
goog.i18n.NumberFormat.prototype.setMaximumFractionDigits=function(a){this.maximumFractionDigits_=a;return this};goog.i18n.NumberFormat.prototype.setSignificantDigits=function(a){if(0<this.minimumFractionDigits_&&0<=a)throw Error("Can't combine significant digits and minimum fraction digits");this.significantDigits_=a;return this};
goog.i18n.NumberFormat.prototype.applyPattern_=function(a){a.replace(/ /g,"\u00a0");var b=[0];this.positivePrefix_=this.parseAffix_(a,b);var c=b[0];this.parseTrunk_(a,b);c=b[0]-c;this.positiveSuffix_=this.parseAffix_(a,b);b[0]<a.length&&a.charAt(b[0])==goog.i18n.NumberFormat.PATTERN_SEPARATOR_?(b[0]++,this.negativePrefix_=this.parseAffix_(a,b),b[0]+=c,this.negativeSuffix_=this.parseAffix_(a,b)):(this.negativePrefix_=this.positivePrefix_+this.negativePrefix_,this.negativeSuffix_+=this.positiveSuffix_)};
goog.i18n.NumberFormat.prototype.applyStandardPattern_=function(a){switch(a){case goog.i18n.NumberFormat.Format.DECIMAL:this.applyPattern_(goog.i18n.NumberFormatSymbols.DECIMAL_PATTERN);break;case goog.i18n.NumberFormat.Format.SCIENTIFIC:this.applyPattern_(goog.i18n.NumberFormatSymbols.SCIENTIFIC_PATTERN);break;case goog.i18n.NumberFormat.Format.PERCENT:this.applyPattern_(goog.i18n.NumberFormatSymbols.PERCENT_PATTERN);break;case goog.i18n.NumberFormat.Format.CURRENCY:this.applyPattern_(goog.i18n.currency.adjustPrecision(goog.i18n.NumberFormatSymbols.CURRENCY_PATTERN,
this.intlCurrencyCode_));break;case goog.i18n.NumberFormat.Format.COMPACT_SHORT:this.applyCompactStyle_(goog.i18n.NumberFormat.CompactStyle.SHORT);break;case goog.i18n.NumberFormat.Format.COMPACT_LONG:this.applyCompactStyle_(goog.i18n.NumberFormat.CompactStyle.LONG);break;default:throw Error("Unsupported pattern type.");}};
goog.i18n.NumberFormat.prototype.applyCompactStyle_=function(a){this.compactStyle_=a;this.applyPattern_(goog.i18n.NumberFormatSymbols.DECIMAL_PATTERN);this.setMinimumFractionDigits(0);this.setMaximumFractionDigits(2);this.setSignificantDigits(2)};
goog.i18n.NumberFormat.prototype.parse=function(a,b){var c=b||[0];if(this.compactStyle_!=goog.i18n.NumberFormat.CompactStyle.NONE)throw Error("Parsing of compact numbers is unimplemented");var d=NaN;a=a.replace(/ /g,"\u00a0");var e=a.indexOf(this.positivePrefix_,c[0])==c[0],f=a.indexOf(this.negativePrefix_,c[0])==c[0];e&&f&&(this.positivePrefix_.length>this.negativePrefix_.length?f=!1:this.positivePrefix_.length<this.negativePrefix_.length&&(e=!1));e?c[0]+=this.positivePrefix_.length:f&&(c[0]+=this.negativePrefix_.length);
a.indexOf(goog.i18n.NumberFormatSymbols.INFINITY,c[0])==c[0]?(c[0]+=goog.i18n.NumberFormatSymbols.INFINITY.length,d=Infinity):d=this.parseNumber_(a,c);if(e){if(a.indexOf(this.positiveSuffix_,c[0])!=c[0])return NaN;c[0]+=this.positiveSuffix_.length}else if(f){if(a.indexOf(this.negativeSuffix_,c[0])!=c[0])return NaN;c[0]+=this.negativeSuffix_.length}return f?-d:d};
goog.i18n.NumberFormat.prototype.parseNumber_=function(a,b){var c=!1,d=!1,e=!1,f=1,g=goog.i18n.NumberFormatSymbols.DECIMAL_SEP,h=goog.i18n.NumberFormatSymbols.GROUP_SEP,k=goog.i18n.NumberFormatSymbols.EXP_SYMBOL;if(this.compactStyle_!=goog.i18n.NumberFormat.CompactStyle.NONE)throw Error("Parsing of compact style numbers is not implemented");for(var l="";b[0]<a.length;b[0]++){var m=a.charAt(b[0]),p=this.getDigit_(m);if(0<=p&&9>=p)l+=p,e=!0;else if(m==g.charAt(0)){if(c||d)break;l+=".";c=!0}else if(m==
h.charAt(0)&&("\u00a0"!=h.charAt(0)||b[0]+1<a.length&&0<=this.getDigit_(a.charAt(b[0]+1)))){if(c||d)break}else if(m==k.charAt(0)){if(d)break;l+="E";d=!0}else if("+"==m||"-"==m)l+=m;else if(m==goog.i18n.NumberFormatSymbols.PERCENT.charAt(0)){if(1!=f)break;f=100;if(e){b[0]++;break}}else if(m==goog.i18n.NumberFormatSymbols.PERMILL.charAt(0)){if(1!=f)break;f=1E3;if(e){b[0]++;break}}else break}return parseFloat(l)/f};
goog.i18n.NumberFormat.prototype.format=function(a){if(isNaN(a))return goog.i18n.NumberFormatSymbols.NAN;var b=[],c=goog.isNull(this.baseFormattingNumber_)?a:this.baseFormattingNumber_,c=this.getUnitAfterRounding_(c,a);a/=Math.pow(10,c.divisorBase);b.push(c.prefix);var d=0>a||0==a&&0>1/a;b.push(d?this.negativePrefix_:this.positivePrefix_);isFinite(a)?(a*=d?-1:1,a*=this.multiplier_,this.useExponentialNotation_?this.subformatExponential_(a,b):this.subformatFixed_(a,this.minimumIntegerDigits_,b)):b.push(goog.i18n.NumberFormatSymbols.INFINITY);
b.push(d?this.negativeSuffix_:this.positiveSuffix_);b.push(c.suffix);return b.join("")};goog.i18n.NumberFormat.prototype.roundNumber_=function(a){var b=Math.pow(10,this.maximumFractionDigits_),c=0>=this.significantDigits_?Math.round(a*b):Math.floor(this.roundToSignificantDigits_(a*b,this.significantDigits_,this.maximumFractionDigits_));isFinite(c)?(a=Math.floor(c/b),b=Math.floor(c-a*b)):b=0;return{intValue:a,fracValue:b}};
goog.i18n.NumberFormat.prototype.subformatFixed_=function(a,b,c){if(this.minimumFractionDigits_>this.maximumFractionDigits_)throw Error("Min value must be less than max value");a=this.roundNumber_(a);var d=Math.pow(10,this.maximumFractionDigits_),e=a.intValue,f=a.fracValue,g=0==e?0:this.intLog10_(e)+1,h=0<this.minimumFractionDigits_||0<f||this.showTrailingZeros_&&g<this.significantDigits_;a=this.minimumFractionDigits_;h&&(a=this.showTrailingZeros_&&0<this.significantDigits_?this.significantDigits_-
g:this.minimumFractionDigits_);for(var k="",g=e;1E20<g;)k="0"+k,g=Math.round(g/10);var k=g+k,l=goog.i18n.NumberFormatSymbols.DECIMAL_SEP,m=goog.i18n.NumberFormatSymbols.GROUP_SEP,g=goog.i18n.NumberFormat.enforceAsciiDigits_?48:goog.i18n.NumberFormatSymbols.ZERO_DIGIT.charCodeAt(0),p=k.length;if(0<e||0<b){for(e=p;e<b;e++)c.push(String.fromCharCode(g));for(e=0;e<p;e++)c.push(String.fromCharCode(g+1*k.charAt(e))),1<p-e&&0<this.groupingSize_&&1==(p-e)%this.groupingSize_&&c.push(m)}else h||c.push(String.fromCharCode(g));
(this.decimalSeparatorAlwaysShown_||h)&&c.push(l);b=""+(f+d);for(d=b.length;"0"==b.charAt(d-1)&&d>a+1;)d--;for(e=1;e<d;e++)c.push(String.fromCharCode(g+1*b.charAt(e)))};
goog.i18n.NumberFormat.prototype.addExponentPart_=function(a,b){b.push(goog.i18n.NumberFormatSymbols.EXP_SYMBOL);0>a?(a=-a,b.push(goog.i18n.NumberFormatSymbols.MINUS_SIGN)):this.useSignForPositiveExponent_&&b.push(goog.i18n.NumberFormatSymbols.PLUS_SIGN);for(var c=""+a,d=goog.i18n.NumberFormat.enforceAsciiDigits_?"0":goog.i18n.NumberFormatSymbols.ZERO_DIGIT,e=c.length;e<this.minExponentDigits_;e++)b.push(d);b.push(c)};
goog.i18n.NumberFormat.prototype.subformatExponential_=function(a,b){if(0==a)this.subformatFixed_(a,this.minimumIntegerDigits_,b),this.addExponentPart_(0,b);else{var c=goog.math.safeFloor(Math.log(a)/Math.log(10));a/=Math.pow(10,c);var d=this.minimumIntegerDigits_;if(1<this.maximumIntegerDigits_&&this.maximumIntegerDigits_>this.minimumIntegerDigits_){for(;0!=c%this.maximumIntegerDigits_;)a*=10,c--;d=1}else 1>this.minimumIntegerDigits_?(c++,a/=10):(c-=this.minimumIntegerDigits_-1,a*=Math.pow(10,this.minimumIntegerDigits_-
1));this.subformatFixed_(a,d,b);this.addExponentPart_(c,b)}};goog.i18n.NumberFormat.prototype.getDigit_=function(a){a=a.charCodeAt(0);if(48<=a&&58>a)return a-48;var b=goog.i18n.NumberFormatSymbols.ZERO_DIGIT.charCodeAt(0);return b<=a&&a<b+10?a-b:-1};goog.i18n.NumberFormat.PATTERN_ZERO_DIGIT_="0";goog.i18n.NumberFormat.PATTERN_GROUPING_SEPARATOR_=",";goog.i18n.NumberFormat.PATTERN_DECIMAL_SEPARATOR_=".";goog.i18n.NumberFormat.PATTERN_PER_MILLE_="\u2030";goog.i18n.NumberFormat.PATTERN_PERCENT_="%";
goog.i18n.NumberFormat.PATTERN_DIGIT_="#";goog.i18n.NumberFormat.PATTERN_SEPARATOR_=";";goog.i18n.NumberFormat.PATTERN_EXPONENT_="E";goog.i18n.NumberFormat.PATTERN_PLUS_="+";goog.i18n.NumberFormat.PATTERN_MINUS_="-";goog.i18n.NumberFormat.PATTERN_CURRENCY_SIGN_="\u00a4";goog.i18n.NumberFormat.QUOTE_="'";
goog.i18n.NumberFormat.prototype.parseAffix_=function(a,b){for(var c="",d=!1,e=a.length;b[0]<e;b[0]++){var f=a.charAt(b[0]);if(f==goog.i18n.NumberFormat.QUOTE_)b[0]+1<e&&a.charAt(b[0]+1)==goog.i18n.NumberFormat.QUOTE_?(b[0]++,c+="'"):d=!d;else if(d)c+=f;else switch(f){case goog.i18n.NumberFormat.PATTERN_DIGIT_:case goog.i18n.NumberFormat.PATTERN_ZERO_DIGIT_:case goog.i18n.NumberFormat.PATTERN_GROUPING_SEPARATOR_:case goog.i18n.NumberFormat.PATTERN_DECIMAL_SEPARATOR_:case goog.i18n.NumberFormat.PATTERN_SEPARATOR_:return c;
case goog.i18n.NumberFormat.PATTERN_CURRENCY_SIGN_:if(b[0]+1<e&&a.charAt(b[0]+1)==goog.i18n.NumberFormat.PATTERN_CURRENCY_SIGN_)b[0]++,c+=this.intlCurrencyCode_;else switch(this.currencyStyle_){case goog.i18n.NumberFormat.CurrencyStyle.LOCAL:c+=goog.i18n.currency.getLocalCurrencySign(this.intlCurrencyCode_);break;case goog.i18n.NumberFormat.CurrencyStyle.GLOBAL:c+=goog.i18n.currency.getGlobalCurrencySign(this.intlCurrencyCode_);break;case goog.i18n.NumberFormat.CurrencyStyle.PORTABLE:c+=goog.i18n.currency.getPortableCurrencySign(this.intlCurrencyCode_)}break;
case goog.i18n.NumberFormat.PATTERN_PERCENT_:if(1!=this.multiplier_)throw Error("Too many percent/permill");this.multiplier_=100;c+=goog.i18n.NumberFormatSymbols.PERCENT;break;case goog.i18n.NumberFormat.PATTERN_PER_MILLE_:if(1!=this.multiplier_)throw Error("Too many percent/permill");this.multiplier_=1E3;c+=goog.i18n.NumberFormatSymbols.PERMILL;break;default:c+=f}}return c};
goog.i18n.NumberFormat.prototype.parseTrunk_=function(a,b){for(var c=-1,d=0,e=0,f=0,g=-1,h=a.length,k=!0;b[0]<h&&k;b[0]++){var l=a.charAt(b[0]);switch(l){case goog.i18n.NumberFormat.PATTERN_DIGIT_:0<e?f++:d++;0<=g&&0>c&&g++;break;case goog.i18n.NumberFormat.PATTERN_ZERO_DIGIT_:if(0<f)throw Error('Unexpected "0" in pattern "'+a+'"');e++;0<=g&&0>c&&g++;break;case goog.i18n.NumberFormat.PATTERN_GROUPING_SEPARATOR_:g=0;break;case goog.i18n.NumberFormat.PATTERN_DECIMAL_SEPARATOR_:if(0<=c)throw Error('Multiple decimal separators in pattern "'+
a+'"');c=d+e+f;break;case goog.i18n.NumberFormat.PATTERN_EXPONENT_:if(this.useExponentialNotation_)throw Error('Multiple exponential symbols in pattern "'+a+'"');this.useExponentialNotation_=!0;this.minExponentDigits_=0;b[0]+1<h&&a.charAt(b[0]+1)==goog.i18n.NumberFormat.PATTERN_PLUS_&&(b[0]++,this.useSignForPositiveExponent_=!0);for(;b[0]+1<h&&a.charAt(b[0]+1)==goog.i18n.NumberFormat.PATTERN_ZERO_DIGIT_;)b[0]++,this.minExponentDigits_++;if(1>d+e||1>this.minExponentDigits_)throw Error('Malformed exponential pattern "'+
a+'"');k=!1;break;default:b[0]--,k=!1}}0==e&&0<d&&0<=c&&(e=c,0==e&&e++,f=d-e,d=e-1,e=1);if(0>c&&0<f||0<=c&&(c<d||c>d+e)||0==g)throw Error('Malformed pattern "'+a+'"');f=d+e+f;this.maximumFractionDigits_=0<=c?f-c:0;0<=c&&(this.minimumFractionDigits_=d+e-c,0>this.minimumFractionDigits_&&(this.minimumFractionDigits_=0));e=0<=c?c:f;this.minimumIntegerDigits_=e-d;this.useExponentialNotation_&&(this.maximumIntegerDigits_=d+this.minimumIntegerDigits_,0==this.maximumFractionDigits_&&0==this.minimumIntegerDigits_&&
(this.minimumIntegerDigits_=1));this.groupingSize_=Math.max(0,g);this.decimalSeparatorAlwaysShown_=0==c||c==f};goog.i18n.NumberFormat.NULL_UNIT_={prefix:"",suffix:"",divisorBase:0};
goog.i18n.NumberFormat.prototype.getUnitFor_=function(a,b){var c=this.compactStyle_==goog.i18n.NumberFormat.CompactStyle.SHORT?goog.i18n.CompactNumberFormatSymbols.COMPACT_DECIMAL_SHORT_PATTERN:goog.i18n.CompactNumberFormatSymbols.COMPACT_DECIMAL_LONG_PATTERN;if(3>a)return goog.i18n.NumberFormat.NULL_UNIT_;a=Math.min(14,a);c=c[Math.pow(10,a)];if(!c)return goog.i18n.NumberFormat.NULL_UNIT_;c=c[b];return c&&"0"!=c?(c=/([^0]*)(0+)(.*)/.exec(c))?{prefix:c[1],suffix:c[3],divisorBase:a-(c[2].length-1)}:
goog.i18n.NumberFormat.NULL_UNIT_:goog.i18n.NumberFormat.NULL_UNIT_};
goog.i18n.NumberFormat.prototype.getUnitAfterRounding_=function(a,b){if(this.compactStyle_==goog.i18n.NumberFormat.CompactStyle.NONE)return goog.i18n.NumberFormat.NULL_UNIT_;a=Math.abs(a);b=Math.abs(b);var c=this.pluralForm_(a),d=1>=a?0:this.intLog10_(a),c=this.getUnitFor_(d,c).divisorBase,d=b/Math.pow(10,c),d=this.roundNumber_(d),e=a/Math.pow(10,c),e=this.roundNumber_(e),d=this.pluralForm_(d.intValue+d.fracValue);return this.getUnitFor_(c+this.intLog10_(e.intValue),d)};
goog.i18n.NumberFormat.prototype.intLog10_=function(a){for(var b=0;1<=(a/=10);)b++;return b};goog.i18n.NumberFormat.prototype.roundToSignificantDigits_=function(a,b,c){if(!a)return a;var d=this.intLog10_(a);b=b-d-1;if(b<-c)return c=Math.pow(10,c),Math.round(a/c)*c;c=Math.pow(10,b);a=Math.round(a*c);return a/c};goog.i18n.NumberFormat.prototype.pluralForm_=function(){return"other"};goog.i18n.ordinalRules={};goog.i18n.ordinalRules.Keyword={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};goog.i18n.ordinalRules.defaultSelect_=function(){return goog.i18n.ordinalRules.Keyword.OTHER};goog.i18n.ordinalRules.decimals_=function(a){a+="";var b=a.indexOf(".");return-1==b?0:a.length-b-1};goog.i18n.ordinalRules.get_vf_=function(a,b){var c=void 0===b?Math.min(goog.i18n.ordinalRules.decimals_(a),3):b,d=Math.pow(10,c),d=(a*d|0)%d;return{v:c,f:d}};
goog.i18n.ordinalRules.get_wt_=function(a,b){if(0===b)return{w:0,t:0};for(;0===b%10;)b/=10,a--;return{w:a,t:b}};goog.i18n.ordinalRules.enSelect_=function(a){return 1==a%10&&11!=a%100?goog.i18n.ordinalRules.Keyword.ONE:2==a%10&&12!=a%100?goog.i18n.ordinalRules.Keyword.TWO:3==a%10&&13!=a%100?goog.i18n.ordinalRules.Keyword.FEW:goog.i18n.ordinalRules.Keyword.OTHER};goog.i18n.ordinalRules.svSelect_=function(a){return 1!=a%10&&2!=a%10||11==a%100||12==a%100?goog.i18n.ordinalRules.Keyword.OTHER:goog.i18n.ordinalRules.Keyword.ONE};
goog.i18n.ordinalRules.frSelect_=function(a){return 1==a?goog.i18n.ordinalRules.Keyword.ONE:goog.i18n.ordinalRules.Keyword.OTHER};goog.i18n.ordinalRules.huSelect_=function(a){return 1==a||5==a?goog.i18n.ordinalRules.Keyword.ONE:goog.i18n.ordinalRules.Keyword.OTHER};goog.i18n.ordinalRules.zuSelect_=function(a){return 1==a?goog.i18n.ordinalRules.Keyword.ONE:2<=a&&9>=a?goog.i18n.ordinalRules.Keyword.FEW:10<=a&&19>=a||100<=a&&199>=a||1E3<=a&&1999>=a?goog.i18n.ordinalRules.Keyword.MANY:goog.i18n.ordinalRules.Keyword.OTHER};
goog.i18n.ordinalRules.mrSelect_=function(a){return 1==a?goog.i18n.ordinalRules.Keyword.ONE:2==a||3==a?goog.i18n.ordinalRules.Keyword.TWO:4==a?goog.i18n.ordinalRules.Keyword.FEW:goog.i18n.ordinalRules.Keyword.OTHER};goog.i18n.ordinalRules.caSelect_=function(a){return 1==a||3==a?goog.i18n.ordinalRules.Keyword.ONE:2==a?goog.i18n.ordinalRules.Keyword.TWO:4==a?goog.i18n.ordinalRules.Keyword.FEW:goog.i18n.ordinalRules.Keyword.OTHER};
goog.i18n.ordinalRules.bnSelect_=function(a){return 1==a||5==a||7==a||8==a||9==a||10==a?goog.i18n.ordinalRules.Keyword.ONE:2==a||3==a?goog.i18n.ordinalRules.Keyword.TWO:4==a?goog.i18n.ordinalRules.Keyword.FEW:6==a?goog.i18n.ordinalRules.Keyword.MANY:goog.i18n.ordinalRules.Keyword.OTHER};goog.i18n.ordinalRules.itSelect_=function(a){return 11==a||8==a||80==a||800==a?goog.i18n.ordinalRules.Keyword.MANY:goog.i18n.ordinalRules.Keyword.OTHER};
goog.i18n.ordinalRules.guSelect_=function(a){return 1==a?goog.i18n.ordinalRules.Keyword.ONE:2==a||3==a?goog.i18n.ordinalRules.Keyword.TWO:4==a?goog.i18n.ordinalRules.Keyword.FEW:6==a?goog.i18n.ordinalRules.Keyword.MANY:goog.i18n.ordinalRules.Keyword.OTHER};goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.enSelect_;"af"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"am"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);
"ar"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"bg"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"bn"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.bnSelect_);"br"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"ca"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.caSelect_);"chr"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);
"cs"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"cy"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"da"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"de"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);if("de_AT"==goog.LOCALE||"de-AT"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_;
if("de_CH"==goog.LOCALE||"de-CH"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_;"el"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"en"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.enSelect_);if("en_AU"==goog.LOCALE||"en-AU"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.enSelect_;if("en_GB"==goog.LOCALE||"en-GB"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.enSelect_;
if("en_IE"==goog.LOCALE||"en-IE"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.enSelect_;if("en_IN"==goog.LOCALE||"en-IN"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.enSelect_;if("en_ISO"==goog.LOCALE||"en-ISO"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.enSelect_;if("en_SG"==goog.LOCALE||"en-SG"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.enSelect_;
if("en_US"==goog.LOCALE||"en-US"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.enSelect_;if("en_ZA"==goog.LOCALE||"en-ZA"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.enSelect_;"es"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);if("es_419"==goog.LOCALE||"es-419"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_;if("es_ES"==goog.LOCALE||"es-ES"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_;
"et"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"eu"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"fa"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"fi"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"fil"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.frSelect_);"fr"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.frSelect_);
if("fr_CA"==goog.LOCALE||"fr-CA"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.frSelect_;"gl"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"gsw"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"gu"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.guSelect_);"haw"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);
"he"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"hi"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.guSelect_);"hr"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"hu"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.huSelect_);"id"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"in"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);
"is"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"it"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.itSelect_);"iw"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"ja"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"kn"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"ko"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);
"ln"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"lt"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"lv"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"ml"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"mo"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.frSelect_);"mr"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.mrSelect_);
"ms"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.frSelect_);"mt"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"nb"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"nl"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"no"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"or"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);
"pl"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"pt"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);if("pt_BR"==goog.LOCALE||"pt-BR"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_;if("pt_PT"==goog.LOCALE||"pt-PT"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_;"ro"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.frSelect_);
"ru"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"sk"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"sl"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"sq"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"sr"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"sv"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.svSelect_);
"sw"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"ta"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"te"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"th"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"tl"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.frSelect_);"tr"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);
"uk"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"ur"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);"vi"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.frSelect_);"zh"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_);if("zh_CN"==goog.LOCALE||"zh-CN"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_;
if("zh_HK"==goog.LOCALE||"zh-HK"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_;if("zh_TW"==goog.LOCALE||"zh-TW"==goog.LOCALE)goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.defaultSelect_;"zu"==goog.LOCALE&&(goog.i18n.ordinalRules.select=goog.i18n.ordinalRules.zuSelect_);goog.i18n.pluralRules={};goog.i18n.pluralRules.Keyword={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};goog.i18n.pluralRules.defaultSelect_=function(){return goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.decimals_=function(a){a+="";var b=a.indexOf(".");return-1==b?0:a.length-b-1};goog.i18n.pluralRules.get_vf_=function(a,b){var c=void 0===b?Math.min(goog.i18n.pluralRules.decimals_(a),3):b,d=Math.pow(10,c),d=(a*d|0)%d;return{v:c,f:d}};
goog.i18n.pluralRules.get_wt_=function(a,b){if(0===b)return{w:0,t:0};for(;0===b%10;)b/=10,a--;return{w:a,t:b}};goog.i18n.pluralRules.gaSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:2==a?goog.i18n.pluralRules.Keyword.TWO:3<=a&&6>=a?goog.i18n.pluralRules.Keyword.FEW:7<=a&&10>=a?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.roSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b);return 1==c&&0==d.v?goog.i18n.pluralRules.Keyword.ONE:0!=d.v||0==a||1!=a&&1<=a%100&&19>=a%100?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.frSelect_=function(a){a|=0;return 0==a||1==a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.enSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b);return 1==c&&0==d.v?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.mtSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:0==a||2<=a%100&&10>=a%100?goog.i18n.pluralRules.Keyword.FEW:11<=a%100&&19>=a%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.daSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b),d=goog.i18n.pluralRules.get_wt_(d.v,d.f);return 1==a||0!=d.t&&(0==c||1==c)?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.cySelect_=function(a){return 0==a?goog.i18n.pluralRules.Keyword.ZERO:1==a?goog.i18n.pluralRules.Keyword.ONE:2==a?goog.i18n.pluralRules.Keyword.TWO:3==a?goog.i18n.pluralRules.Keyword.FEW:6==a?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.brSelect_=function(a){return 1==a%10&&11!=a%100&&71!=a%100&&91!=a%100?goog.i18n.pluralRules.Keyword.ONE:2==a%10&&12!=a%100&&72!=a%100&&92!=a%100?goog.i18n.pluralRules.Keyword.TWO:(3<=a%10&&4>=a%10||9==a%10)&&(10>a%100||19<a%100)&&(70>a%100||79<a%100)&&(90>a%100||99<a%100)?goog.i18n.pluralRules.Keyword.FEW:0!=a&&0==a%1E6?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.esSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.siSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b);return 0==a||1==a||0==c&&1==d.f?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.slSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b);return 0==d.v&&1==c%100?goog.i18n.pluralRules.Keyword.ONE:0==d.v&&2==c%100?goog.i18n.pluralRules.Keyword.TWO:0==d.v&&3<=c%100&&4>=c%100||0!=d.v?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.tzmSelect_=function(a){return 0<=a&&1>=a||11<=a&&99>=a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.srSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b);return 0==d.v&&1==c%10&&11!=c%100||1==d.f%10&&11!=d.f%100?goog.i18n.pluralRules.Keyword.ONE:0==d.v&&2<=c%10&&4>=c%10&&(12>c%100||14<c%100)||2<=d.f%10&&4>=d.f%10&&(12>d.f%100||14<d.f%100)?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.hiSelect_=function(a){var b=a|0;return 0==b||1==a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.mkSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b);return 0==d.v&&1==c%10||1==d.f%10?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.arSelect_=function(a){return 0==a?goog.i18n.pluralRules.Keyword.ZERO:1==a?goog.i18n.pluralRules.Keyword.ONE:2==a?goog.i18n.pluralRules.Keyword.TWO:3<=a%100&&10>=a%100?goog.i18n.pluralRules.Keyword.FEW:11<=a%100&&99>=a%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.iuSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:2==a?goog.i18n.pluralRules.Keyword.TWO:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.csSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b);return 1==c&&0==d.v?goog.i18n.pluralRules.Keyword.ONE:2<=c&&4>=c&&0==d.v?goog.i18n.pluralRules.Keyword.FEW:0!=d.v?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.pt_PTSelect_=function(a,b){var c=goog.i18n.pluralRules.get_vf_(a,b);return 1==a&&0==c.v?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.beSelect_=function(a){return 1==a%10&&11!=a%100?goog.i18n.pluralRules.Keyword.ONE:2<=a%10&&4>=a%10&&(12>a%100||14<a%100)?goog.i18n.pluralRules.Keyword.FEW:0==a%10||5<=a%10&&9>=a%10||11<=a%100&&14>=a%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.akSelect_=function(a){return 0<=a&&1>=a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.ptSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b),e=goog.i18n.pluralRules.get_wt_(d.v,d.f);return 1==c&&0==d.v||0==c&&1==e.t?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.plSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b);return 1==c&&0==d.v?goog.i18n.pluralRules.Keyword.ONE:0==d.v&&2<=c%10&&4>=c%10&&(12>c%100||14<c%100)?goog.i18n.pluralRules.Keyword.FEW:0==d.v&&1!=c&&0<=c%10&&1>=c%10||0==d.v&&5<=c%10&&9>=c%10||0==d.v&&12<=c%100&&14>=c%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.ruSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b);return 0==d.v&&1==c%10&&11!=c%100?goog.i18n.pluralRules.Keyword.ONE:0==d.v&&2<=c%10&&4>=c%10&&(12>c%100||14<c%100)?goog.i18n.pluralRules.Keyword.FEW:0==d.v&&0==c%10||0==d.v&&5<=c%10&&9>=c%10||0==d.v&&11<=c%100&&14>=c%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.gvSelect_=function(a){return 1==a%10?goog.i18n.pluralRules.Keyword.ONE:2==a%10?goog.i18n.pluralRules.Keyword.TWO:0==a%100||20==a%100||40==a%100||60==a%100?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.lagSelect_=function(a){var b=a|0;return 0==a?goog.i18n.pluralRules.Keyword.ZERO:0!=b&&1!=b||0==a?goog.i18n.pluralRules.Keyword.OTHER:goog.i18n.pluralRules.Keyword.ONE};
goog.i18n.pluralRules.shiSelect_=function(a){var b=a|0;return 0==b||1==a?goog.i18n.pluralRules.Keyword.ONE:2<=a&&10>=a?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.heSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b);return 1==c&&0==d.v?goog.i18n.pluralRules.Keyword.ONE:2==c&&0==d.v?goog.i18n.pluralRules.Keyword.TWO:0==d.v&&(0>a||10<a)&&0==a%10?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.isSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b),d=goog.i18n.pluralRules.get_wt_(d.v,d.f);return 0==d.t&&1==c%10&&11!=c%100||0!=d.t?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.ltSelect_=function(a,b){var c=goog.i18n.pluralRules.get_vf_(a,b);return 1==a%10&&(11>a%100||19<a%100)?goog.i18n.pluralRules.Keyword.ONE:2<=a%10&&9>=a%10&&(11>a%100||19<a%100)?goog.i18n.pluralRules.Keyword.FEW:0!=c.f?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.gdSelect_=function(a){return 1==a||11==a?goog.i18n.pluralRules.Keyword.ONE:2==a||12==a?goog.i18n.pluralRules.Keyword.TWO:3<=a&&10>=a||13<=a&&19>=a?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.filSelect_=function(a,b){var c=a|0,d=goog.i18n.pluralRules.get_vf_(a,b);return 0<=c&&1>=c&&0==d.v?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.lvSelect_=function(a,b){var c=goog.i18n.pluralRules.get_vf_(a,b);return 0==a%10||11<=a%100&&19>=a%100||2==c.v&&11<=c.f%100&&19>=c.f%100?goog.i18n.pluralRules.Keyword.ZERO:1==a%10&&11!=a%100||2==c.v&&1==c.f%10&&11!=c.f%100||2!=c.v&&1==c.f%10?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.kshSelect_=function(a){return 0==a?goog.i18n.pluralRules.Keyword.ZERO:1==a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};
goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;"af"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"am"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.hiSelect_);"ar"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.arSelect_);"bg"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"bn"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.hiSelect_);
"br"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.brSelect_);"ca"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"chr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"cs"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.csSelect_);"cy"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.cySelect_);"da"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.daSelect_);
"de"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);if("de_AT"==goog.LOCALE||"de-AT"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;if("de_CH"==goog.LOCALE||"de-CH"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;"el"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"en"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);
if("en_AU"==goog.LOCALE||"en-AU"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;if("en_GB"==goog.LOCALE||"en-GB"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;if("en_IE"==goog.LOCALE||"en-IE"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;if("en_IN"==goog.LOCALE||"en-IN"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;
if("en_ISO"==goog.LOCALE||"en-ISO"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;if("en_SG"==goog.LOCALE||"en-SG"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;if("en_US"==goog.LOCALE||"en-US"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;if("en_ZA"==goog.LOCALE||"en-ZA"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;"es"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);
if("es_419"==goog.LOCALE||"es-419"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_;if("es_ES"==goog.LOCALE||"es-ES"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_;"et"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"eu"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"fa"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.hiSelect_);
"fi"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"fil"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.filSelect_);"fr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.frSelect_);if("fr_CA"==goog.LOCALE||"fr-CA"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.frSelect_;"gl"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"gsw"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);
"gu"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.hiSelect_);"haw"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"he"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.heSelect_);"hi"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.hiSelect_);"hr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.srSelect_);"hu"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);
"id"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);"in"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);"is"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.isSelect_);"it"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"iw"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.heSelect_);"ja"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);
"kn"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.hiSelect_);"ko"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);"ln"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.akSelect_);"lt"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.ltSelect_);"lv"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.lvSelect_);"ml"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);
"mo"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.roSelect_);"mr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.hiSelect_);"ms"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);"mt"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.mtSelect_);"nb"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"nl"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);
"no"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"or"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"pl"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.plSelect_);"pt"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.ptSelect_);if("pt_BR"==goog.LOCALE||"pt-BR"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.ptSelect_;
if("pt_PT"==goog.LOCALE||"pt-PT"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.pt_PTSelect_;"ro"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.roSelect_);"ru"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.ruSelect_);"sk"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.csSelect_);"sl"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.slSelect_);"sq"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);
"sr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.srSelect_);"sv"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"sw"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"ta"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"te"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"th"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);
"tl"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.filSelect_);"tr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.esSelect_);"uk"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.ruSelect_);"ur"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"vi"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);"zh"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);
if("zh_CN"==goog.LOCALE||"zh-CN"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_;if("zh_HK"==goog.LOCALE||"zh-HK"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_;if("zh_TW"==goog.LOCALE||"zh-TW"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_;"zu"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.hiSelect_);goog.i18n.MessageFormat=function(a){this.literals_=[];this.parsedPattern_=[];this.numberFormatter_=new goog.i18n.NumberFormat(goog.i18n.NumberFormat.Format.DECIMAL);this.parsePattern_(a)};goog.i18n.MessageFormat.LITERAL_PLACEHOLDER_="\ufddf_";goog.i18n.MessageFormat.Element_={STRING:0,BLOCK:1};goog.i18n.MessageFormat.BlockType_={PLURAL:0,ORDINAL:1,SELECT:2,SIMPLE:3,STRING:4,UNKNOWN:5};goog.i18n.MessageFormat.OTHER_="other";goog.i18n.MessageFormat.REGEX_LITERAL_=/'([{}#].*?)'/g;
goog.i18n.MessageFormat.REGEX_DOUBLE_APOSTROPHE_=/''/g;goog.i18n.MessageFormat.prototype.format=function(a){return this.format_(a,!1)};goog.i18n.MessageFormat.prototype.format_=function(a,b){if(0==this.parsedPattern_.length)return"";var c=[];this.formatBlock_(this.parsedPattern_,a,b,c);c=c.join("");for(b||goog.asserts.assert(-1==c.search("#"),"Not all # were replaced.");0<this.literals_.length;)c=c.replace(this.buildPlaceholder_(this.literals_),this.literals_.pop());return c};
goog.i18n.MessageFormat.prototype.formatBlock_=function(a,b,c,d){for(var e=0;e<a.length;e++)switch(a[e].type){case goog.i18n.MessageFormat.BlockType_.STRING:d.push(a[e].value);break;case goog.i18n.MessageFormat.BlockType_.SIMPLE:var f=a[e].value;this.formatSimplePlaceholder_(f,b,d);break;case goog.i18n.MessageFormat.BlockType_.SELECT:f=a[e].value;this.formatSelectBlock_(f,b,c,d);break;case goog.i18n.MessageFormat.BlockType_.PLURAL:f=a[e].value;this.formatPluralOrdinalBlock_(f,b,goog.i18n.pluralRules.select,
c,d);break;case goog.i18n.MessageFormat.BlockType_.ORDINAL:f=a[e].value;this.formatPluralOrdinalBlock_(f,b,goog.i18n.ordinalRules.select,c,d);break;default:goog.asserts.fail("Unrecognized block type.")}};goog.i18n.MessageFormat.prototype.formatSimplePlaceholder_=function(a,b,c){b=b[a];goog.isDef(b)?(this.literals_.push(b),c.push(this.buildPlaceholder_(this.literals_))):c.push("Undefined parameter - "+a)};
goog.i18n.MessageFormat.prototype.formatSelectBlock_=function(a,b,c,d){var e=a.argumentIndex;goog.isDef(b[e])?(e=a[b[e]],goog.isDef(e)||(e=a[goog.i18n.MessageFormat.OTHER_],goog.asserts.assertArray(e,"Invalid option or missing other option for select block.")),this.formatBlock_(e,b,c,d)):d.push("Undefined parameter - "+e)};
goog.i18n.MessageFormat.prototype.formatPluralOrdinalBlock_=function(a,b,c,d,e){var f=a.argumentIndex,g=a.argumentOffset,h=+b[f];isNaN(h)?e.push("Undefined or invalid parameter - "+f):(g=h-g,f=a[b[f]],goog.isDef(f)||(goog.asserts.assert(0<=g,"Argument index smaller than offset."),c=this.numberFormatter_.getMinimumFractionDigits?c(g,this.numberFormatter_.getMinimumFractionDigits()):c(g),goog.asserts.assertString(c,"Invalid plural key."),f=a[c],goog.isDef(f)||(f=a[goog.i18n.MessageFormat.OTHER_]),goog.asserts.assertArray(f,
"Invalid option or missing other option for plural block.")),a=[],this.formatBlock_(f,b,d,a),b=a.join(""),goog.asserts.assertString(b,"Empty block in plural."),d?e.push(b):(d=this.numberFormatter_.format(g),e.push(b.replace(/#/g,d))))};goog.i18n.MessageFormat.prototype.parsePattern_=function(a){a&&(a=this.insertPlaceholders_(a),this.parsedPattern_=this.parseBlock_(a))};
goog.i18n.MessageFormat.prototype.insertPlaceholders_=function(a){var b=this.literals_,c=goog.bind(this.buildPlaceholder_,this);a=a.replace(goog.i18n.MessageFormat.REGEX_DOUBLE_APOSTROPHE_,function(){b.push("'");return c(b)});return a=a.replace(goog.i18n.MessageFormat.REGEX_LITERAL_,function(a,e){b.push(e);return c(b)})};
goog.i18n.MessageFormat.prototype.extractParts_=function(a){var b=0,c=[],d=[],e=/[{}]/g;e.lastIndex=0;for(var f;f=e.exec(a);){var g=f.index;"}"==f[0]?(f=c.pop(),goog.asserts.assert(goog.isDef(f)&&"{"==f,"No matching { for }."),0==c.length&&(f={},f.type=goog.i18n.MessageFormat.Element_.BLOCK,f.value=a.substring(b,g),d.push(f),b=g+1)):(0==c.length&&(b=a.substring(b,g),""!=b&&d.push({type:goog.i18n.MessageFormat.Element_.STRING,value:b}),b=g+1),c.push("{"))}goog.asserts.assert(0==c.length,"There are mismatched { or } in the pattern.");
b=a.substring(b);""!=b&&d.push({type:goog.i18n.MessageFormat.Element_.STRING,value:b});return d};goog.i18n.MessageFormat.PLURAL_BLOCK_RE_=/^\s*(\w+)\s*,\s*plural\s*,(?:\s*offset:(\d+))?/;goog.i18n.MessageFormat.ORDINAL_BLOCK_RE_=/^\s*(\w+)\s*,\s*selectordinal\s*,/;goog.i18n.MessageFormat.SELECT_BLOCK_RE_=/^\s*(\w+)\s*,\s*select\s*,/;
goog.i18n.MessageFormat.prototype.parseBlockType_=function(a){return goog.i18n.MessageFormat.PLURAL_BLOCK_RE_.test(a)?goog.i18n.MessageFormat.BlockType_.PLURAL:goog.i18n.MessageFormat.ORDINAL_BLOCK_RE_.test(a)?goog.i18n.MessageFormat.BlockType_.ORDINAL:goog.i18n.MessageFormat.SELECT_BLOCK_RE_.test(a)?goog.i18n.MessageFormat.BlockType_.SELECT:/^\s*\w+\s*/.test(a)?goog.i18n.MessageFormat.BlockType_.SIMPLE:goog.i18n.MessageFormat.BlockType_.UNKNOWN};
goog.i18n.MessageFormat.prototype.parseBlock_=function(a){var b=[];a=this.extractParts_(a);for(var c=0;c<a.length;c++){var d={};if(goog.i18n.MessageFormat.Element_.STRING==a[c].type)d.type=goog.i18n.MessageFormat.BlockType_.STRING,d.value=a[c].value;else if(goog.i18n.MessageFormat.Element_.BLOCK==a[c].type){var e=this.parseBlockType_(a[c].value);switch(e){case goog.i18n.MessageFormat.BlockType_.SELECT:d.type=goog.i18n.MessageFormat.BlockType_.SELECT;d.value=this.parseSelectBlock_(a[c].value);break;
case goog.i18n.MessageFormat.BlockType_.PLURAL:d.type=goog.i18n.MessageFormat.BlockType_.PLURAL;d.value=this.parsePluralBlock_(a[c].value);break;case goog.i18n.MessageFormat.BlockType_.ORDINAL:d.type=goog.i18n.MessageFormat.BlockType_.ORDINAL;d.value=this.parseOrdinalBlock_(a[c].value);break;case goog.i18n.MessageFormat.BlockType_.SIMPLE:d.type=goog.i18n.MessageFormat.BlockType_.SIMPLE;d.value=a[c].value;break;default:goog.asserts.fail("Unknown block type.")}}else goog.asserts.fail("Unknown part of the pattern.");
b.push(d)}return b};
goog.i18n.MessageFormat.prototype.parseSelectBlock_=function(a){var b="",c=goog.i18n.MessageFormat.SELECT_BLOCK_RE_;a=a.replace(c,function(a,c){b=c;return""});c={};c.argumentIndex=b;a=this.extractParts_(a);for(var d=0;d<a.length;){var e=a[d].value;goog.asserts.assertString(e,"Missing select key element.");d++;goog.asserts.assert(d<a.length,"Missing or invalid select value element.");if(goog.i18n.MessageFormat.Element_.BLOCK==a[d].type)var f=this.parseBlock_(a[d].value);else goog.asserts.fail("Expected block type.");c[e.replace(/\s/g,
"")]=f;d++}goog.asserts.assertArray(c[goog.i18n.MessageFormat.OTHER_],"Missing other key in select statement.");return c};
goog.i18n.MessageFormat.prototype.parsePluralBlock_=function(a){var b="",c=0,d=goog.i18n.MessageFormat.PLURAL_BLOCK_RE_;a=a.replace(d,function(a,d,e){b=d;e&&(c=parseInt(e,10));return""});d={};d.argumentIndex=b;d.argumentOffset=c;a=this.extractParts_(a);for(var e=0;e<a.length;){var f=a[e].value;goog.asserts.assertString(f,"Missing plural key element.");e++;goog.asserts.assert(e<a.length,"Missing or invalid plural value element.");if(goog.i18n.MessageFormat.Element_.BLOCK==a[e].type)var g=this.parseBlock_(a[e].value);
else goog.asserts.fail("Expected block type.");d[f.replace(/\s*(?:=)?(\w+)\s*/,"$1")]=g;e++}goog.asserts.assertArray(d[goog.i18n.MessageFormat.OTHER_],"Missing other key in plural statement.");return d};
goog.i18n.MessageFormat.prototype.parseOrdinalBlock_=function(a){var b="",c=goog.i18n.MessageFormat.ORDINAL_BLOCK_RE_;a=a.replace(c,function(a,c){b=c;return""});c={};c.argumentIndex=b;c.argumentOffset=0;a=this.extractParts_(a);for(var d=0;d<a.length;){var e=a[d].value;goog.asserts.assertString(e,"Missing ordinal key element.");d++;goog.asserts.assert(d<a.length,"Missing or invalid ordinal value element.");if(goog.i18n.MessageFormat.Element_.BLOCK==a[d].type)var f=this.parseBlock_(a[d].value);else goog.asserts.fail("Expected block type.");
c[e.replace(/\s*(?:=)?(\w+)\s*/,"$1")]=f;d++}goog.asserts.assertArray(c[goog.i18n.MessageFormat.OTHER_],"Missing other key in selectordinal statement.");return c};goog.i18n.MessageFormat.prototype.buildPlaceholder_=function(a){goog.asserts.assert(0<a.length,"Literal array is empty.");a=(a.length-1).toString(10);return goog.i18n.MessageFormat.LITERAL_PLACEHOLDER_+a+"_"};cvox.TtsCapturingEventListener=function(){};cvox.TtsInterface=function(){};cvox.TtsInterface.prototype.speak=function(){};cvox.TtsInterface.prototype.isSpeaking=function(){};cvox.TtsInterface.prototype.stop=function(){};cvox.TtsInterface.prototype.increaseOrDecreaseProperty=function(){};cvox.TtsInterface.prototype.getDefaultProperty=function(){};cvox.AbstractTts=function(){this.ttsProperties={};this.propertyDefault={rate:0.5,pitch:0.5,volume:0.5};this.propertyMin={rate:0,pitch:0,volume:0};this.propertyMax={rate:1,pitch:1,volume:1};this.propertyStep={rate:0.1,pitch:0.1,volume:0.1};if(void 0==cvox.AbstractTts.pronunciationDictionaryRegexp_){var a=[],b;for(b in cvox.AbstractTts.PRONUNCIATION_DICTIONARY)a.push(b);a="\\b("+a.join("|")+")\\b";cvox.AbstractTts.pronunciationDictionaryRegexp_=RegExp(a,"ig")}if(void 0==cvox.AbstractTts.substitutionDictionaryRegexp_){var a=
[],c;for(c in cvox.AbstractTts.SUBSTITUTION_DICTIONARY)a.push(c);a="("+a.join("|")+")";cvox.AbstractTts.substitutionDictionaryRegexp_=RegExp(a,"ig")}};cvox.AbstractTts.prototype.speak=function(){return this};cvox.AbstractTts.prototype.isSpeaking=function(){return!1};cvox.AbstractTts.prototype.stop=function(){};
cvox.AbstractTts.prototype.increaseOrDecreaseProperty=function(a,b){var c=this.propertyMin[a],d=this.propertyMax[a],e=this.propertyStep[a],f=this.ttsProperties[a],f=b?f+e:f-e;this.ttsProperties[a]=Math.max(Math.min(f,d),c)};cvox.AbstractTts.RATE="rate";cvox.AbstractTts.PITCH="pitch";cvox.AbstractTts.VOLUME="volume";cvox.AbstractTts.LANG="lang";cvox.AbstractTts.RELATIVE_RATE="relativeRate";cvox.AbstractTts.RELATIVE_PITCH="relativePitch";cvox.AbstractTts.RELATIVE_VOLUME="relativeVolume";
cvox.AbstractTts.COLOR="color";cvox.AbstractTts.FONT_WEIGHT="fontWeight";cvox.AbstractTts.PUNCTUATION_ECHO="punctuationEcho";cvox.AbstractTts.PAUSE="pause";cvox.AbstractTts.PERSONALITY_ANNOTATION={relativePitch:-0.25,color:"yellow",punctuationEcho:"none"};cvox.AbstractTts.PERSONALITY_ANNOUNCEMENT={punctuationEcho:"none"};cvox.AbstractTts.PERSONALITY_SYSTEM_ALERT={punctuationEcho:"none",doNotInterrupt:!0};cvox.AbstractTts.PERSONALITY_ASIDE={relativePitch:-0.1,color:"#669"};
cvox.AbstractTts.PERSONALITY_CAPITAL={relativePitch:0.6};cvox.AbstractTts.PERSONALITY_DELETED={punctuationEcho:"none",relativePitch:-0.6};cvox.AbstractTts.PERSONALITY_QUOTE={relativePitch:0.1,color:"#b6b",fontWeight:"bold"};cvox.AbstractTts.PERSONALITY_STRONG={relativePitch:0.1,color:"#b66",fontWeight:"bold"};cvox.AbstractTts.PERSONALITY_EMPHASIS={relativeVolume:0.1,relativeRate:-0.1,color:"#6bb",fontWeight:"bold"};cvox.AbstractTts.DEBUG=!0;cvox.AbstractTts.QUEUE_MODE_FLUSH=0;
cvox.AbstractTts.QUEUE_MODE_QUEUE=1;
cvox.AbstractTts.CHARACTER_DICTIONARY={" ":"space","`":"backtick","~":"tilde","!":"exclamation","@":"at","#":"pound",$:"dollar","%":"percent","^":"caret","&":"ampersand","*":"asterisk","(":"open_paren",")":"close_paren","-":"dash",_:"underscore","=":"equals","+":"plus","[":"left_bracket","]":"right_bracket","{":"left_brace","}":"right_brace","|":"pipe",";":"semicolon",":":"colon",",":"comma",".":"dot","<":"less_than",">":"greater_than","/":"slash","?":"question_mark",'"':"quote","'":"apostrophe",
"\t":"tab","\r":"return","\n":"new_line","\\":"backslash"};cvox.AbstractTts.PRONUNCIATION_DICTIONARY={admob:"ad-mob",adsense:"ad-sense",adwords:"ad-words",angularjs:"angular j s",bcc:"B C C",cc:"C C",chromevox:"chrome vox",cr48:"C R 48",ctrl:"control",doubleclick:"double-click",gmail:"gee mail",gtalk:"gee talk",http:"H T T P",https:"H T T P S",igoogle:"eye google",pagerank:"page-rank",username:"user-name",www:"W W W",youtube:"you tube"};
cvox.AbstractTts.SUBSTITUTION_DICTIONARY={"://":"colon slash slash","\u00bc":"one fourth","\u00bd":"one half","\u200e":"left to right mark","\u2190":"left arrow","\u2191":"up arrow","\u2192":"right arrow","\u2193":"down arrow","\u21d0":"left double arrow","\u21d1":"up double arrow","\u21d2":"right double  arrow","\u21d3":"down double arrow","\u21e6":"left arrow","\u21e7":"up arrow","\u21e8":"right arrow","\u21e9":"down arrow","\u2303":"control","\u2318":"command","\u2325":"option","\u25b2":"up triangle",
"\u25b3":"up triangle","\u25b4":"up triangle","\u25b5":"up triangle","\u25b6":"right triangle","\u25b7":"right triangle","\u25b8":"right triangle","\u25b9":"right triangle","\u25ba":"right pointer","\u25bb":"right pointer","\u25bc":"down triangle","\u25bd":"down triangle","\u25be":"down triangle","\u25bf":"down triangle","\u25c0":"left triangle","\u25c1":"left triangle","\u25c2":"left triangle","\u25c3":"left triangle","\u25c4":"left pointer","\u25c5":"left pointer","\uf8ff":"apple"};
cvox.AbstractTts.repetitionRegexp_=/([-\/\\|!@#$%^&*\(\)=_+\[\]\{\}.?;'":<>])\1{2,}/g;cvox.AbstractTts.repetitionReplace_=function(a){var b=a.length;return" "+(new goog.i18n.MessageFormat(cvox.ChromeVox.msgs.getMsg(cvox.AbstractTts.CHARACTER_DICTIONARY[a[0]]))).format({COUNT:b})+" "};cvox.AbstractTts.prototype.getDefaultProperty=function(a){return this.propertyDefault[a]};cvox.AbstractEarcons=function(){this.enabled=!0};cvox.AbstractEarcons.prototype.playEarcon=function(){};cvox.AbstractEarcons.prototype.playEarconByName=function(a){this.playEarcon(this.getEarconId(a))};
cvox.AbstractEarcons.prototype.getEarconId=function(a){this.earconNamesToIds||(this.earconNamesToIds={},this.earconNamesToIds.ALERT_MODAL=cvox.AbstractEarcons.ALERT_MODAL,this.earconNamesToIds.ALERT_NONMODAL=cvox.AbstractEarcons.ALERT_NONMODAL,this.earconNamesToIds.BULLET=cvox.AbstractEarcons.BULLET,this.earconNamesToIds.BUSY_PROGRESS_LOOP=cvox.AbstractEarcons.BUSY_PROGRESS_LOOP,this.earconNamesToIds.BUSY_WORKING_LOOP=cvox.AbstractEarcons.BUSY_WORKING_LOOP,this.earconNamesToIds.BUTTON=cvox.AbstractEarcons.BUTTON,
this.earconNamesToIds.CHECK_OFF=cvox.AbstractEarcons.CHECK_OFF,this.earconNamesToIds.CHECK_ON=cvox.AbstractEarcons.CHECK_ON,this.earconNamesToIds.COLLAPSED=cvox.AbstractEarcons.COLLAPSED,this.earconNamesToIds.EDITABLE_TEXT=cvox.AbstractEarcons.EDITABLE_TEXT,this.earconNamesToIds.ELLIPSIS=cvox.AbstractEarcons.ELLIPSIS,this.earconNamesToIds.EXPANDED=cvox.AbstractEarcons.EXPANDED,this.earconNamesToIds.FONT_CHANGE=cvox.AbstractEarcons.FONT_CHANGE,this.earconNamesToIds.INVALID_KEYPRESS=cvox.AbstractEarcons.INVALID_KEYPRESS,
this.earconNamesToIds.LINK=cvox.AbstractEarcons.LINK,this.earconNamesToIds.LISTBOX=cvox.AbstractEarcons.LISTBOX,this.earconNamesToIds.LIST_ITEM=cvox.AbstractEarcons.LIST_ITEM,this.earconNamesToIds.LONG_DESC=cvox.AbstractEarcons.LONG_DESC,this.earconNamesToIds.NEW_MAIL=cvox.AbstractEarcons.NEW_MAIL,this.earconNamesToIds.OBJECT_CLOSE=cvox.AbstractEarcons.OBJECT_CLOSE,this.earconNamesToIds.OBJECT_DELETE=cvox.AbstractEarcons.OBJECT_DELETE,this.earconNamesToIds.OBJECT_DESELECT=cvox.AbstractEarcons.OBJECT_DESELECT,
this.earconNamesToIds.OBJECT_ENTER=cvox.AbstractEarcons.OBJECT_ENTER,this.earconNamesToIds.OBJECT_EXIT=cvox.AbstractEarcons.OBJECT_EXIT,this.earconNamesToIds.OBJECT_OPEN=cvox.AbstractEarcons.OBJECT_OPEN,this.earconNamesToIds.OBJECT_SELECT=cvox.AbstractEarcons.OBJECT_SELECT,this.earconNamesToIds.PARAGRAPH_BREAK=cvox.AbstractEarcons.PARAGRAPH_BREAK,this.earconNamesToIds.SEARCH_HIT=cvox.AbstractEarcons.SEARCH_HIT,this.earconNamesToIds.SEARCH_MISS=cvox.AbstractEarcons.SEARCH_MISS,this.earconNamesToIds.SECTION=
cvox.AbstractEarcons.SECTION,this.earconNamesToIds.SELECTION=cvox.AbstractEarcons.SELECTION,this.earconNamesToIds.SELECTION_REVERSE=cvox.AbstractEarcons.SELECTION_REVERSE,this.earconNamesToIds.SPECIAL_CONTENT=cvox.AbstractEarcons.SPECIAL_CONTENT,this.earconNamesToIds.TASK_SUCCESS=cvox.AbstractEarcons.TASK_SUCCESS,this.earconNamesToIds.WRAP=cvox.AbstractEarcons.WRAP,this.earconNamesToIds.WRAP_EDGE=cvox.AbstractEarcons.WRAP_EDGE);return this.earconNamesToIds[a]};
cvox.AbstractEarcons.prototype.toggle=function(){return this.enabled=!this.enabled};cvox.AbstractEarcons.ALERT_MODAL=0;cvox.AbstractEarcons.ALERT_NONMODAL=1;cvox.AbstractEarcons.BULLET=2;cvox.AbstractEarcons.BUSY_PROGRESS_LOOP=3;cvox.AbstractEarcons.BUSY_WORKING_LOOP=4;cvox.AbstractEarcons.BUTTON=5;cvox.AbstractEarcons.CHECK_OFF=6;cvox.AbstractEarcons.CHECK_ON=7;cvox.AbstractEarcons.COLLAPSED=8;cvox.AbstractEarcons.EDITABLE_TEXT=9;cvox.AbstractEarcons.ELLIPSIS=10;cvox.AbstractEarcons.EXPANDED=11;
cvox.AbstractEarcons.FONT_CHANGE=12;cvox.AbstractEarcons.INVALID_KEYPRESS=13;cvox.AbstractEarcons.LINK=14;cvox.AbstractEarcons.LISTBOX=15;cvox.AbstractEarcons.LIST_ITEM=16;cvox.AbstractEarcons.LONG_DESC=17;cvox.AbstractEarcons.NEW_MAIL=18;cvox.AbstractEarcons.OBJECT_CLOSE=19;cvox.AbstractEarcons.OBJECT_DELETE=20;cvox.AbstractEarcons.OBJECT_DESELECT=21;cvox.AbstractEarcons.OBJECT_ENTER=22;cvox.AbstractEarcons.OBJECT_EXIT=23;cvox.AbstractEarcons.OBJECT_OPEN=24;cvox.AbstractEarcons.OBJECT_SELECT=25;
cvox.AbstractEarcons.PARAGRAPH_BREAK=26;cvox.AbstractEarcons.SEARCH_HIT=27;cvox.AbstractEarcons.SEARCH_MISS=28;cvox.AbstractEarcons.SECTION=29;cvox.AbstractEarcons.SELECTION=30;cvox.AbstractEarcons.SELECTION_REVERSE=31;cvox.AbstractEarcons.SPECIAL_CONTENT=32;cvox.AbstractEarcons.TASK_SUCCESS=33;cvox.AbstractEarcons.WRAP=34;cvox.AbstractEarcons.WRAP_EDGE=35;cvox.AbstractEarcons.earconMap={};cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.ALERT_MODAL]="alert_modal.ogg";
cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.ALERT_NONMODAL]="alert_nonmodal.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.BULLET]="bullet.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.BUSY_PROGRESS_LOOP]="busy_progress_loop.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.BUSY_WORKING_LOOP]="busy_working_loop.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.BUTTON]="button.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.CHECK_OFF]="check_off.ogg";
cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.CHECK_ON]="check_on.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.COLLAPSED]="collapsed.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.EDITABLE_TEXT]="editable_text.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.ELLIPSIS]="ellipsis.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.EXPANDED]="expanded.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.FONT_CHANGE]="font_change.ogg";
cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.INVALID_KEYPRESS]="invalid_keypress.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.LINK]="link.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.LISTBOX]="listbox.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.LIST_ITEM]="bullet.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.LONG_DESC]="long_desc.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.NEW_MAIL]="new_mail.ogg";
cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.OBJECT_CLOSE]="object_close.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.OBJECT_DELETE]="object_delete.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.OBJECT_DESELECT]="object_deselect.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.OBJECT_ENTER]="object_enter.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.OBJECT_EXIT]="object_exit.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.OBJECT_OPEN]="object_open.ogg";
cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.OBJECT_SELECT]="object_select.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.PARAGRAPH_BREAK]="paragraph_break.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.SEARCH_HIT]="search_hit.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.SEARCH_MISS]="search_miss.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.SECTION]="section.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.SELECTION]="selection.ogg";
cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.SELECTION_REVERSE]="selection_reverse.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.SPECIAL_CONTENT]="special_content.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.TASK_SUCCESS]="task_success.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.WRAP]="wrap.ogg";cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.WRAP_EDGE]="wrap_edge.ogg";cvox.NodeStateUtil={};cvox.NodeStateUtil.expand=function(a){try{return a.map(function(a){if(1>a.length)throw Error("cvox.NodeState must have at least one entry");var b=a.slice(1).map(function(a){return"number"==typeof a?cvox.ChromeVox.msgs.getNumber(a):a});return cvox.ChromeVox.msgs.getMsg(a[0],b)}).join(" ")}catch(b){throw Error("error: "+b+" state: "+a);}};cvox.AriaUtil=function(){};cvox.AriaUtil.NO_ROLE_NAME=" ";
cvox.AriaUtil.WIDGET_ROLE_TO_NAME={alert:"aria_role_alert",alertdialog:"aria_role_alertdialog",button:"aria_role_button",checkbox:"aria_role_checkbox",columnheader:"aria_role_columnheader",combobox:"aria_role_combobox",dialog:"aria_role_dialog",grid:"aria_role_grid",gridcell:"aria_role_gridcell",link:"aria_role_link",listbox:"aria_role_listbox",log:"aria_role_log",marquee:"aria_role_marquee",menu:"aria_role_menu",menubar:"aria_role_menubar",menuitem:"aria_role_menuitem",menuitemcheckbox:"aria_role_menuitemcheckbox",
menuitemradio:"aria_role_menuitemradio",option:cvox.AriaUtil.NO_ROLE_NAME,progressbar:"aria_role_progressbar",radio:"aria_role_radio",radiogroup:"aria_role_radiogroup",rowheader:"aria_role_rowheader",scrollbar:"aria_role_scrollbar",slider:"aria_role_slider",spinbutton:"aria_role_spinbutton",status:"aria_role_status",tab:"aria_role_tab",tabpanel:"aria_role_tabpanel",textbox:"aria_role_textbox",timer:"aria_role_timer",toolbar:"aria_role_toolbar",tooltip:"aria_role_tooltip",treeitem:"aria_role_treeitem"};
cvox.AriaUtil.STRUCTURE_ROLE_TO_NAME={article:"aria_role_article",application:"aria_role_application",banner:"aria_role_banner",columnheader:"aria_role_columnheader",complementary:"aria_role_complementary",contentinfo:"aria_role_contentinfo",definition:"aria_role_definition",directory:"aria_role_directory",document:"aria_role_document",form:"aria_role_form",group:"aria_role_group",heading:"aria_role_heading",img:"aria_role_img",list:"aria_role_list",listitem:"aria_role_listitem",main:"aria_role_main",
math:"aria_role_math",navigation:"aria_role_navigation",note:"aria_role_note",region:"aria_role_region",rowheader:"aria_role_rowheader",search:"aria_role_search",separator:"aria_role_separator"};
cvox.AriaUtil.ATTRIBUTE_VALUE_TO_STATUS=[{name:"aria-autocomplete",values:{inline:"aria_autocomplete_inline",list:"aria_autocomplete_list",both:"aria_autocomplete_both"}},{name:"aria-checked",values:{"true":"aria_checked_true","false":"aria_checked_false",mixed:"aria_checked_mixed"}},{name:"aria-disabled",values:{"true":"aria_disabled_true"}},{name:"aria-expanded",values:{"true":"aria_expanded_true","false":"aria_expanded_false"}},{name:"aria-invalid",values:{"true":"aria_invalid_true",grammar:"aria_invalid_grammar",
spelling:"aria_invalid_spelling"}},{name:"aria-multiline",values:{"true":"aria_multiline_true"}},{name:"aria-multiselectable",values:{"true":"aria_multiselectable_true"}},{name:"aria-pressed",values:{"true":"aria_pressed_true","false":"aria_pressed_false",mixed:"aria_pressed_mixed"}},{name:"aria-readonly",values:{"true":"aria_readonly_true"}},{name:"aria-required",values:{"true":"aria_required_true"}},{name:"aria-selected",values:{"true":"aria_selected_true","false":"aria_selected_false"}}];
cvox.AriaUtil.isHiddenRecursive=function(a){if(cvox.AriaUtil.isHidden(a))return!0;for(a=a.parentElement;a;){if("true"==a.getAttribute("aria-hidden")&&"true"!=a.getAttribute("chromevoxignoreariahidden"))return!0;a=a.parentElement}return!1};cvox.AriaUtil.isHidden=function(a){return!a||a.getAttribute&&"true"==a.getAttribute("aria-hidden")&&"true"!=a.getAttribute("chromevoxignoreariahidden")?!0:!1};
cvox.AriaUtil.isForcedVisibleRecursive=function(a){for(;a;){if(a.getAttribute&&a.hasAttribute("aria-hidden")&&"true"!=a.getAttribute("chromevoxignoreariahidden"))return"false"==a.getAttribute("aria-hidden");a=a.parentElement}return!1};cvox.AriaUtil.isLeafElement=function(a){var b=a.getAttribute("role");a=a.hasAttribute("aria-label")&&0<a.getAttribute("aria-label").length;return"img"==b||"progressbar"==b||a};
cvox.AriaUtil.isDescendantOfRole=function(a,b){for(;a;){if(b&&a&&a.getAttribute("role")==b)return!0;a=a.parentNode}return!1};cvox.AriaUtil.getRoleNameMsgForRole_=function(a){return(a=cvox.AriaUtil.WIDGET_ROLE_TO_NAME[a])?a==cvox.AriaUtil.NO_ROLE_NAME?" ":a:null};cvox.AriaUtil.isButton=function(a){var b=cvox.AriaUtil.getRoleAttribute(a);return"button"==b||"BUTTON"==a.tagName?!0:"INPUT"==a.tagName?"submit"==a.type||"reset"==a.type||"button"==a.type:!1};
cvox.AriaUtil.getRoleNameMsg=function(a){var b;if(a&&a.getAttribute){var c=cvox.AriaUtil.getRoleAttribute(a);if("true"==a.getAttribute("aria-haspopup")&&cvox.AriaUtil.isButton(a))return"aria_role_popup_button";c&&((b=cvox.AriaUtil.getRoleNameMsgForRole_(c))||(b=cvox.AriaUtil.STRUCTURE_ROLE_TO_NAME[c]));if("menuitem"==c){for(a=a.parentElement;a&&(!a.getAttribute||"menu"!=cvox.AriaUtil.getRoleAttribute(a)&&"menubar"!=cvox.AriaUtil.getRoleAttribute(a));)a=a.parentElement;a&&"menubar"==cvox.AriaUtil.getRoleAttribute(a)&&
(b=cvox.AriaUtil.getRoleNameMsgForRole_("menu"))}}b||(b="");return b};cvox.AriaUtil.getRoleName=function(a){var b=cvox.AriaUtil.getRoleNameMsg(a),b=cvox.ChromeVox.msgs.getMsg(b),c=cvox.AriaUtil.getRoleAttribute(a);"heading"==c&&a.hasAttribute("aria-level")&&(b+=" "+a.getAttribute("aria-level"));return b?b:""};
cvox.AriaUtil.getStateMsgs=function(a,b){var c=[];if(!a||!a.getAttribute)return c;for(var d=0,e;e=cvox.AriaUtil.ATTRIBUTE_VALUE_TO_STATUS[d];d++){var f=a.getAttribute(e.name);(e=e.values[f])&&c.push([e])}if("grid"==a.getAttribute("role"))return cvox.AriaUtil.getGridState_(a,a);e=cvox.AriaUtil.getRoleAttribute(a);"true"==a.getAttribute("aria-haspopup")&&("menuitem"==e?c.push(["has_submenu"]):cvox.AriaUtil.isButton(a)||c.push(["has_popup"]));if(d=a.getAttribute("aria-valuetext"))return c.push([d]),
c;var d=a.getAttribute("aria-valuenow"),f=a.getAttribute("aria-valuemin"),g=a.getAttribute("aria-valuemax");if(null!=d&&null!=f&&null!=g&&("scrollbar"==e||"progressbar"==e)){var h=Math.round(d/(g-f)*100);c.push(["state_percent",h]);return c}null!=d&&c.push(["aria_value_now",d]);null!=f&&c.push(["aria_value_min",f]);null!=g&&c.push(["aria_value_max",g]);f=a;d=null;if(cvox.AriaUtil.isCompositeControl(f)&&b)d=cvox.AriaUtil.getActiveDescendant(f);else if(e=cvox.AriaUtil.getRoleAttribute(a),"option"==
e||"menuitem"==e||"menuitemcheckbox"==e||"menuitemradio"==e||"radio"==e||"tab"==e||"treeitem"==e)for(d=a,f=a.parentElement;f&&!cvox.AriaUtil.isCompositeControl(f)&&(!(f=f.parentElement)||"treeitem"!=cvox.AriaUtil.getRoleAttribute(f)););if(f&&(cvox.AriaUtil.isCompositeControl(f)||"treeitem"==cvox.AriaUtil.getRoleAttribute(f))&&d){e=cvox.AriaUtil.getRoleAttribute(f);var k;switch(e){case "combobox":case "listbox":k=["option"];break;case "menu":k=["menuitem","menuitemcheck","menuitemradio"];break;case "radiogroup":k=
["radio"];break;case "tablist":k=["tab"];break;case "tree":case "treegrid":case "treeitem":k=["treeitem"]}if(k){var l;e=parseInt(d.getAttribute("aria-setsize"),10);isNaN(e)||(h=e);e=parseInt(d.getAttribute("aria-posinset"),10);isNaN(e)||(l=e);if(void 0==h||void 0==l)if(k=cvox.AriaUtil.getNextLevel(f,k),void 0==h&&(h=k.length),void 0==l)for(e=0;e<k.length;e++)k[e]==d&&(l=e+1);l&&h&&c.push(["list_position",l,h])}}return c};
cvox.AriaUtil.getGridState_=function(a,b){var c=cvox.AriaUtil.getActiveDescendant(b);if(c)for(var d='*[role~="row"]',d=b.querySelectorAll(d),e=0;e<d.length;e++)for(var f=d[e].querySelectorAll('*[role~="gridcell"]'),g=0;g<f.length;g++)if(f[g]==c)return[["aria_role_gridcell_pos",e+1,g+1]];return[]};cvox.AriaUtil.getActiveDescendantId_=function(a){return a.getAttribute?(a=a.getAttribute("aria-activedescendant"))?a:null:null};
cvox.AriaUtil.getNextLevel=function(a,b){for(var c=[],d=a.childNodes,e=0;e<d.length;e++)if(!cvox.AriaUtil.isHidden(d[e])&&cvox.DomUtil.isVisible(d[e])){var f=cvox.AriaUtil.getNextLevelItems(d[e],b);0<f.length&&(c=c.concat(f))}return c};
cvox.AriaUtil.getNextLevelItems=function(a,b){if(1!=a.nodeType)return[];if(-1!=b.indexOf(cvox.AriaUtil.getRoleAttribute(a)))return[a];var c=a.childNodes,d=c.length;if(0==d)return[];for(var e=[],f=0;f<d;f++){var g=cvox.AriaUtil.getNextLevelItems(c[f],b);0<g.length&&(e=e.concat(g))}return e};cvox.AriaUtil.getActiveDescendant=function(a){for(var b={},c=a;c;){var d=cvox.AriaUtil.getActiveDescendantId_(c);if(!d)break;if(d in b)return null;b[d]=!0;c=document.getElementById(d)}return c==a?null:c};
cvox.AriaUtil.isControlWidget=function(a){if(a&&a.getAttribute)switch(a=cvox.AriaUtil.getRoleAttribute(a),a){case "button":case "checkbox":case "combobox":case "listbox":case "menu":case "menuitemcheckbox":case "menuitemradio":case "radio":case "slider":case "progressbar":case "scrollbar":case "spinbutton":case "tab":case "tablist":case "textbox":return!0}return!1};cvox.AriaUtil.isCompositeControl=function(a){if(a&&a.getAttribute)switch(a=cvox.AriaUtil.getRoleAttribute(a),a){case "combobox":case "grid":case "listbox":case "menu":case "menubar":case "radiogroup":case "tablist":case "tree":case "treegrid":return!0}return!1};
cvox.AriaUtil.getAriaLive=function(a){if(!a.hasAttribute)return null;var b=a.getAttribute("aria-live");if("off"==b)return null;if(b)return b;a=cvox.AriaUtil.getRoleAttribute(a);switch(a){case "alert":return"assertive";case "log":case "status":return"polite";default:return null}};cvox.AriaUtil.getAriaAtomic=function(a){if(!a.hasAttribute)return!1;var b=a.getAttribute("aria-atomic");if(b)return"true"===b;a=cvox.AriaUtil.getRoleAttribute(a);return"alert"==a?!0:!1};
cvox.AriaUtil.getAriaBusy=function(a){return a.hasAttribute?(a=a.getAttribute("aria-busy"))?"true"===a:!1:!1};cvox.AriaUtil.getAriaRelevant=function(a,b){if(!a.hasAttribute)return!1;var c;c=a.hasAttribute("aria-relevant")?a.getAttribute("aria-relevant"):"additions text";"all"==c&&(c="additions removals text");c=c.replace(/\s+/g," ").replace(/^\s+|\s+$/g,"").split(" ");return"all"==b?0<=c.indexOf("additions")&&0<=c.indexOf("text")&&0<=c.indexOf("removals"):0<=c.indexOf(b)};
cvox.AriaUtil.getLiveRegions=function(a){var b=[];if(a.querySelectorAll){var c=a.querySelectorAll('[role="alert"], [role="log"],  [role="marquee"], [role="status"], [role="timer"],  [aria-live]');if(c)for(var d=0;d<c.length;d++)b.push(c[d])}for(;a;){if(cvox.AriaUtil.getAriaLive(a)){b.push(a);break}a=a.parentElement}return b};cvox.AriaUtil.isLandmark=function(a){if(!a||!a.getAttribute)return!1;a=cvox.AriaUtil.getRoleAttribute(a);switch(a){case "application":case "banner":case "complementary":case "contentinfo":case "form":case "main":case "navigation":case "search":return!0}return!1};
cvox.AriaUtil.isGrid=function(a){if(!a||!a.getAttribute)return!1;a=cvox.AriaUtil.getRoleAttribute(a);switch(a){case "grid":case "treegrid":return!0}return!1};
cvox.AriaUtil.getEarcon=function(a){if(!a||!a.getAttribute)return null;var b=cvox.AriaUtil.getRoleAttribute(a);switch(b){case "button":return cvox.AbstractEarcons.BUTTON;case "checkbox":case "radio":case "menuitemcheckbox":case "menuitemradio":return a=a.getAttribute("aria-checked"),"true"==a?cvox.AbstractEarcons.CHECK_ON:cvox.AbstractEarcons.CHECK_OFF;case "combobox":case "listbox":return cvox.AbstractEarcons.LISTBOX;case "textbox":return cvox.AbstractEarcons.EDITABLE_TEXT;case "listitem":return cvox.AbstractEarcons.BULLET;
case "link":return cvox.AbstractEarcons.LINK}return null};cvox.AriaUtil.getRoleAttribute=function(a){if(!a.getAttribute)return"";var b=a.getAttribute("role");a.hasAttribute("chromevoxoriginalrole")&&(b=a.getAttribute("chromevoxoriginalrole"));return b};cvox.AriaUtil.isMath=function(a){if(!a||!a.getAttribute)return!1;a=cvox.AriaUtil.getRoleAttribute(a);return"math"==a};cvox.DomPredicates={};cvox.DomPredicates.checkboxPredicate=function(a){for(var b=0;b<a.length;b++)if(a[b].getAttribute&&"checkbox"==a[b].getAttribute("role")||"INPUT"==a[b].tagName&&"checkbox"==a[b].type)return a[b];return null};cvox.DomPredicates.radioPredicate=function(a){for(var b=0;b<a.length;b++)if(a[b].getAttribute&&"radio"==a[b].getAttribute("role")||"INPUT"==a[b].tagName&&"radio"==a[b].type)return a[b];return null};
cvox.DomPredicates.sliderPredicate=function(a){for(var b=0;b<a.length;b++)if(a[b].getAttribute&&"slider"==a[b].getAttribute("role")||"INPUT"==a[b].tagName&&"range"==a[b].type)return a[b];return null};cvox.DomPredicates.graphicPredicate=function(a){for(var b=0;b<a.length;b++)if("IMG"==a[b].tagName||"INPUT"==a[b].tagName&&"img"==a[b].type)return a[b];return null};
cvox.DomPredicates.buttonPredicate=function(a){for(var b=0;b<a.length;b++)if(a[b].getAttribute&&"button"==a[b].getAttribute("role")||"BUTTON"==a[b].tagName||"INPUT"==a[b].tagName&&"submit"==a[b].type||"INPUT"==a[b].tagName&&"button"==a[b].type||"INPUT"==a[b].tagName&&"reset"==a[b].type)return a[b];return null};cvox.DomPredicates.comboBoxPredicate=function(a){for(var b=0;b<a.length;b++)if(a[b].getAttribute&&"combobox"==a[b].getAttribute("role")||"SELECT"==a[b].tagName)return a[b];return null};
cvox.DomPredicates.editTextPredicate=function(a){for(var b=0;b<a.length;b++)if(a[b].getAttribute&&"textbox"==a[b].getAttribute("role")||"TEXTAREA"==a[b].tagName||a[b].isContentEditable||"INPUT"==a[b].tagName&&cvox.DomUtil.isInputTypeText(a[b]))return a[b];return null};cvox.DomPredicates.headingPredicate=function(a){for(var b=0;b<a.length;b++){if(a[b].getAttribute&&"heading"==a[b].getAttribute("role"))return a[b];switch(a[b].tagName){case "H1":case "H2":case "H3":case "H4":case "H5":case "H6":return a[b]}}return null};
cvox.DomPredicates.heading1Predicate=function(a){return cvox.DomPredicates.containsTagName_(a,"H1")};cvox.DomPredicates.heading2Predicate=function(a){return cvox.DomPredicates.containsTagName_(a,"H2")};cvox.DomPredicates.heading3Predicate=function(a){return cvox.DomPredicates.containsTagName_(a,"H3")};cvox.DomPredicates.heading4Predicate=function(a){return cvox.DomPredicates.containsTagName_(a,"H4")};cvox.DomPredicates.heading5Predicate=function(a){return cvox.DomPredicates.containsTagName_(a,"H5")};
cvox.DomPredicates.heading6Predicate=function(a){return cvox.DomPredicates.containsTagName_(a,"H6")};cvox.DomPredicates.linkPredicate=function(a){for(var b=0;b<a.length;b++)if(a[b].getAttribute&&"link"==a[b].getAttribute("role")||"A"==a[b].tagName&&a[b].href)return a[b];return null};cvox.DomPredicates.tablePredicate=function(a){return(a=cvox.DomUtil.findTableNodeInList(a,{allowCaptions:!0}))&&!cvox.DomUtil.isLayoutTable(a)?a:null};
cvox.DomPredicates.cellPredicate=function(a){for(var b=a.length-1;0<=b;--b){var c=a[b];if("TD"==c.tagName||"TH"==c.tagName||c.getAttribute&&"gridcell"==c.getAttribute("role"))return c}return null};cvox.DomPredicates.visitedLinkPredicate=function(a){for(var b=a.length-1;0<=b;--b)if(cvox.DomPredicates.linkPredicate([a[b]])&&cvox.ChromeVox.visitedUrls[a[b].href])return a[b]};
cvox.DomPredicates.listPredicate=function(a){for(var b=0;b<a.length;b++)if(a[b].getAttribute&&"list"==a[b].getAttribute("role")||"UL"==a[b].tagName||"OL"==a[b].tagName)return a[b];return null};cvox.DomPredicates.listItemPredicate=function(a){for(var b=0;b<a.length;b++)if(a[b].getAttribute&&"listitem"==a[b].getAttribute("role")||"LI"==a[b].tagName)return a[b];return null};cvox.DomPredicates.blockquotePredicate=function(a){return cvox.DomPredicates.containsTagName_(a,"BLOCKQUOTE")};
cvox.DomPredicates.formFieldPredicate=function(a){for(var b=0;b<a.length;b++)if(cvox.DomUtil.isControl(a[b]))return a[b];return null};cvox.DomPredicates.landmarkPredicate=function(a){for(var b=0;b<a.length;b++)if(cvox.AriaUtil.isLandmark(a[b]))return a[b];return null};cvox.DomPredicates.containsTagName_=function(a,b){for(var c=a.length;c--;)if(a[c].tagName==b)return a[c];return null};cvox.DomPredicates.mathPredicate=function(a){return cvox.DomUtil.findMathNodeInList(a)};
cvox.DomPredicates.sectionPredicate=function(a){for(var b=0;b<a.length;b++){if(cvox.DomUtil.isSemanticElt(a[b])||cvox.AriaUtil.isLandmark(a[b])||a[b].getAttribute&&"heading"==a[b].getAttribute("role"))return a[b];switch(a[b].tagName){case "H1":case "H2":case "H3":case "H4":case "H5":case "H6":return a[b]}}return null};
cvox.DomPredicates.controlPredicate=function(a){for(var b=0;b<a.length;b++)if(cvox.DomUtil.isControl(a[b])||a[b].getAttribute&&"link"==a[b].getAttribute("role")||"A"==a[b].tagName&&a[b].href)return a[b];return null};cvox.DomPredicates.captionPredicate=function(a){for(var b=0;b<a.length;b++)if("CAPTION"==a[b].tagName)return a[b];return null};
cvox.DomPredicates.articlePredicate=function(a){for(var b=0;b<a.length;b++)if(a[b].getAttribute&&"article"==a[b].getAttribute("role")||"ARTICLE"==a[b].tagName)return a[b];return null};cvox.DomPredicates.mediaPredicate=function(a){for(var b=0;b<a.length;b++)if("AUDIO"==a[b].tagName||"VIDEO"==a[b].tagName)return a[b];return null};cvox.DomPredicates.orderedListPredicate=function(a){for(var b=0;b<a.length;b++)if("OL"==a[b].tagName)return a[b];return null};cvox.XpathUtil=function(){};cvox.XpathUtil.nameSpaces_={xhtml:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML"};cvox.XpathUtil.resolveNameSpace=function(a){return cvox.XpathUtil.nameSpaces_[a]||null};cvox.XpathUtil.evalXPath=function(a,b){try{var c=b.ownerDocument.evaluate(a,b,cvox.XpathUtil.resolveNameSpace,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null)}catch(d){return[]}for(var e=[],f=c.iterateNext();f;f=c.iterateNext())e.push(f);return e};
cvox.XpathUtil.getLeafNodes=function(a){try{var b=a.ownerDocument.evaluate(".//*[count(*)=0]",a,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE,null)}catch(c){return[]}a=[];for(var d=b.iterateNext();d;d=b.iterateNext())a.push(d);return a};cvox.XpathUtil.xpathSupported=function(){return"undefined"==typeof XPathResult?!1:!0};cvox.XpathUtil.evaluateBoolean=function(a,b){try{var c=b.ownerDocument.evaluate(a,b,cvox.XpathUtil.resolveNameSpace,XPathResult.BOOLEAN_TYPE,null)}catch(d){return!1}return c.booleanValue};
cvox.XpathUtil.evaluateString=function(a,b){try{var c=b.ownerDocument.evaluate(a,b,cvox.XpathUtil.resolveNameSpace,XPathResult.STRING_TYPE,null)}catch(d){return""}return c.stringValue};cvox.DomUtil=function(){};
cvox.DomUtil.INPUT_TYPE_TO_INFORMATION_TABLE_MSG={button:"input_type_button",checkbox:"input_type_checkbox",color:"input_type_color",datetime:"input_type_datetime","datetime-local":"input_type_datetime_local",date:"input_type_date",email:"input_type_email",file:"input_type_file",image:"input_type_image",month:"input_type_month",number:"input_type_number",password:"input_type_password",radio:"input_type_radio",range:"input_type_range",reset:"input_type_reset",search:"input_type_search",submit:"input_type_submit",
tel:"input_type_tel",text:"input_type_text",url:"input_type_url",week:"input_type_week"};
cvox.DomUtil.TAG_TO_INFORMATION_TABLE_VERBOSE_MSG={A:"tag_link",ARTICLE:"tag_article",ASIDE:"tag_aside",AUDIO:"tag_audio",BUTTON:"tag_button",FOOTER:"tag_footer",H1:"tag_h1",H2:"tag_h2",H3:"tag_h3",H4:"tag_h4",H5:"tag_h5",H6:"tag_h6",HEADER:"tag_header",HGROUP:"tag_hgroup",LI:"tag_li",MARK:"tag_mark",NAV:"tag_nav",OL:"tag_ol",SECTION:"tag_section",SELECT:"tag_select",TABLE:"tag_table",TEXTAREA:"tag_textarea",TIME:"tag_time",UL:"tag_ul",VIDEO:"tag_video"};
cvox.DomUtil.TAG_TO_INFORMATION_TABLE_BRIEF_MSG={AUDIO:"tag_audio",BUTTON:"tag_button",SELECT:"tag_select",TABLE:"tag_table",TEXTAREA:"tag_textarea",VIDEO:"tag_video"};cvox.DomUtil.FORMATTING_TAGS="B BIG CITE CODE DFN EM I KBD SAMP SMALL SPAN STRIKE STRONG SUB SUP U VAR".split(" ");
cvox.DomUtil.isVisible=function(a,b){b=b||{};"undefined"===typeof b.checkAncestors&&(b.checkAncestors=!0);"undefined"===typeof b.checkDescendants&&(b.checkDescendants=!0);if("IFRAME"==a.tagName&&!a.src)return!1;if(cvox.AriaUtil.isForcedVisibleRecursive(a))return!0;if(b.checkAncestors&&cvox.DomUtil.hasInvisibleAncestor_(a))return!1;var c=b.checkDescendants;return cvox.DomUtil.hasVisibleNodeSubtree_(a,c)?!0:!1};
cvox.DomUtil.hasInvisibleAncestor_=function(a){for(;a=a.parentElement;){var b=document.defaultView.getComputedStyle(a,null);if(cvox.DomUtil.isInvisibleStyle(b,!0))return!0}return!1};
cvox.DomUtil.hasVisibleNodeSubtree_=function(a,b){if(!(a instanceof Element)){var c=document.defaultView.getComputedStyle(a.parentElement,null);return c=!cvox.DomUtil.isInvisibleStyle(c)}var c=document.defaultView.getComputedStyle(a,null),d=!cvox.DomUtil.isInvisibleStyle(c);if(d)return!0;c=cvox.DomUtil.isInvisibleStyle(c,!0);if(!b||c)return!1;c=a.childNodes;for(d=0;d<c.length;d++){var e=c[d];if(cvox.DomUtil.hasVisibleNodeSubtree_(e,b))return!0}return!1};
cvox.DomUtil.isInvisibleStyle=function(a,b){return a?"none"!=a.display&&0!=parseFloat(a.opacity)&&(b||"hidden"!=a.visibility&&"collapse"!=a.visibility)?!1:!0:!1};cvox.DomUtil.isDisabled=function(a){if(a.disabled)return!0;for(;a=a.parentElement;)if("FIELDSET"==a.tagName&&a.disabled)return!0;return!1};cvox.DomUtil.isSemanticElt=function(a){return a.tagName&&(a=a.tagName,"SECTION"==a||"NAV"==a||"ARTICLE"==a||"ASIDE"==a||"HGROUP"==a||"HEADER"==a||"FOOTER"==a||"TIME"==a||"MARK"==a)?!0:!1};
cvox.DomUtil.isLeafNode=function(a,b){if(!(a instanceof Element))return null==a.firstChild;var c=a;if(!b&&!cvox.DomUtil.isVisible(c,{checkAncestors:!1})||!b&&cvox.AriaUtil.isHidden(c)||cvox.AriaUtil.isLeafElement(c))return!0;switch(c.tagName){case "OBJECT":case "EMBED":case "VIDEO":case "AUDIO":case "IFRAME":case "FRAME":return!0}return cvox.DomPredicates.linkPredicate([c])?!cvox.DomUtil.findNode(c,function(a){return!!cvox.DomPredicates.headingPredicate([a])}):cvox.DomUtil.isLeafLevelControl(c)||
!c.firstChild||cvox.DomUtil.isMath(c)?!0:cvox.DomPredicates.headingPredicate([c])?!cvox.DomUtil.findNode(c,function(a){return!!cvox.DomPredicates.controlPredicate([a])}):!1};cvox.DomUtil.isDescendantOf=function(a,b,c){for(;a;){if(b&&c&&a.tagName&&a.tagName==b&&a.className&&a.className==c||b&&!c&&a.tagName&&a.tagName==b||!b&&c&&a.className&&a.className==c)return!0;a=a.parentNode}return!1};cvox.DomUtil.isDescendantOfNode=function(a,b){for(;a&&b;){if(a.isSameNode(b))return!0;a=a.parentNode}return!1};
cvox.DomUtil.collapseWhitespace=function(a){return a.replace(/\s+/g," ").replace(/^\s+|\s+$/g,"")};
cvox.DomUtil.getBaseLabel_=function(a,b,c){var d="";if(a.hasAttribute){if(a.hasAttribute("aria-labelledby"))for(var e=a.getAttribute("aria-labelledby").split(" "),f,g=0;f=e[g];g++)(f=document.getElementById(f))&&(d+=" "+cvox.DomUtil.getName(f,!0,c,!0));else if(a.hasAttribute("aria-label"))d=a.getAttribute("aria-label");else if(a.constructor==HTMLImageElement)d=cvox.DomUtil.getImageTitle(a);else if("FIELDSET"==a.tagName)for(e=a.getElementsByTagName("LEGEND"),d="",g=0;f=e[g];g++)d+=" "+cvox.DomUtil.getName(f,
!0,c);0==d.length&&a&&a.id&&(a=document.querySelector('label[for="'+a.id+'"]'))&&(d=cvox.DomUtil.getName(a,b,c))}return cvox.DomUtil.collapseWhitespace(d)};cvox.DomUtil.getNearestAncestorLabel_=function(a){for(var b="";a&&"LABEL"!=a.tagName;)a=a.parentElement;a&&!a.hasAttribute("for")&&(b=cvox.DomUtil.getName(a,!0,!1));return b};
cvox.DomUtil.getInputName_=function(a){var b="";"image"==a.type?b=cvox.DomUtil.getImageTitle(a):"submit"==a.type?b=a.hasAttribute("value")?a.getAttribute("value"):"Submit":"reset"==a.type?b=a.hasAttribute("value")?a.getAttribute("value"):"Reset":"button"==a.type&&a.hasAttribute("value")&&(b=a.getAttribute("value"));return b};
cvox.DomUtil.getName=function(a,b,c,d){if(!a||!0==a.cvoxGetNameMarked)return"";a.cvoxGetNameMarked=!0;b=cvox.DomUtil.getName_(a,b,c,d);a.cvoxGetNameMarked=!1;a=cvox.DomUtil.getPrefixText(a);return a+b};cvox.DomUtil.hasChildrenBasedName_=function(a,b){return cvox.DomPredicates.linkPredicate([a])||cvox.DomPredicates.headingPredicate([a])||"BUTTON"==a.tagName||cvox.AriaUtil.isControlWidget(a)||!cvox.DomUtil.isLeafNode(a,b)?!0:!1};
cvox.DomUtil.getName_=function(a,b,c,d){"undefined"===typeof b&&(b=!0);"undefined"===typeof c&&(c=!0);if(a.constructor==Text)return a.data;var e=cvox.DomUtil.getBaseLabel_(a,b,c);0==e.length&&cvox.DomUtil.isControl(a)&&(e=cvox.DomUtil.getNearestAncestorLabel_(a));0==e.length&&a.constructor==HTMLInputElement&&(e=cvox.DomUtil.getInputName_(a));return cvox.DomUtil.isInputTypeText(a)&&a.hasAttribute("placeholder")?(b=a.getAttribute("placeholder"),0<e.length?0<cvox.DomUtil.getValue(a).length?e:e+" with hint "+
b:b):0<e.length?e:0==cvox.DomUtil.collapseWhitespace(a.textContent).length&&a.hasAttribute&&a.hasAttribute("title")?a.getAttribute("title"):!b||cvox.AriaUtil.isCompositeControl(a)?"":cvox.DomUtil.hasChildrenBasedName_(a,d)?cvox.DomUtil.getNameFromChildren(a,c,d):""};
cvox.DomUtil.getNameFromChildren=function(a,b,c){void 0==b&&(b=!0);for(var d="",e="",f=0;f<a.childNodes.length;f++){var g=a.childNodes[f],e=a.childNodes[f-1]||g;if(b||!cvox.DomUtil.isControl(g)){var h=cvox.DomUtil.isVisible(g,{checkAncestors:!1});if(c||h&&!cvox.AriaUtil.isHidden(g))e="SPAN"==e.tagName||"SPAN"==g.tagName||"SPAN"==g.parentNode.tagName?"":" ",d+=e+cvox.DomUtil.getName(g,!0,b)}}return d};
cvox.DomUtil.getPrefixText=function(a,b){b=b||0;for(var c=cvox.DomUtil.getAncestors(a),d="",e=c=cvox.DomPredicates.listItemPredicate(c);e&&e.firstChild;)e=e.firstChild;c&&c.parentNode&&0==b&&"OL"==c.parentNode.tagName&&a==e&&"none"!=document.defaultView.getComputedStyle(c.parentNode).listStyleType&&(d=cvox.DomUtil.toArray(c.parentNode.children).filter(function(a){return"LI"==a.tagName}),d=d.indexOf(c)+1,-1!=document.defaultView.getComputedStyle(c.parentNode).listStyleType.indexOf("latin")&&(d--,d=
String.fromCharCode(65+d%26)),d+=". ");return d};
cvox.DomUtil.getControlLabelHeuristics=function(a){if(a.hasAttribute&&(a.hasAttribute("aria-label")&&""==a.getAttribute("aria-label")||a.hasAttribute("aria-title")&&""==a.getAttribute("aria-title")))return"";for(var b=cvox.DomUtil.previousLeafNode(a),c=0;b&&(!cvox.DomUtil.hasContent(b)||cvox.DomUtil.isControl(b));)b=cvox.DomUtil.previousLeafNode(b),c++;for(var c=cvox.DomUtil.directedNextLeafNode(a),d=0;c&&(!cvox.DomUtil.hasContent(c)||cvox.DomUtil.isControl(c));)c=cvox.DomUtil.directedNextLeafNode(c),
d++;if(b&&c){for(var d=a,e=0;d&&!cvox.DomUtil.isDescendantOfNode(b,d);)d=d.parentNode,e++;d=a;for(a=0;d&&!cvox.DomUtil.isDescendantOfNode(c,d);)d=d.parentNode,a++;b=a<e?c:b}else b=b||c;return b?cvox.DomUtil.collapseWhitespace(cvox.DomUtil.getValue(b)+" "+cvox.DomUtil.getName(b)):""};
cvox.DomUtil.getValue=function(a){var b=cvox.AriaUtil.getActiveDescendant(a);if(b)return cvox.DomUtil.collapseWhitespace(cvox.DomUtil.getValue(b)+" "+cvox.DomUtil.getName(b));if(a.constructor==HTMLSelectElement){var b="",c=a.selectedOptions?a.selectedOptions[0]:null;a=a.selectedOptions?a.selectedOptions[a.selectedOptions.length-1]:null;c&&a&&c!=a?b=cvox.ChromeVox.msgs.getMsg("selected_options_value",[c.text,a.text]):c&&(b=c.text+"");return b}if(a.constructor==HTMLTextAreaElement)return a.value;if(a.constructor==
HTMLInputElement)switch(a.type){case "hidden":case "image":case "submit":case "reset":case "button":case "checkbox":case "radio":return"";case "password":return a.value.replace(/./g,"dot ");default:return a.value}return a.isContentEditable?cvox.DomUtil.getNameFromChildren(a,!0):""};
cvox.DomUtil.getImageTitle=function(a){a.hasAttribute("alt")?a=a.alt:a.hasAttribute("title")?a=a.title:(a=a.src,"data"!=a.substring(0,4)?(a=a.substring(a.lastIndexOf("/")+1,a.lastIndexOf(".")),a=1<=a.length&&16>=a.length?a+" Image":"Image"):a="Image");return a};
cvox.DomUtil.hasContent=function(a){if(8==a.nodeType||cvox.DomUtil.isDescendantOf(a,"HEAD")||cvox.DomUtil.isDescendantOf(a,"SCRIPT")||cvox.DomUtil.isDescendantOf(a,"NOSCRIPT")||cvox.DomUtil.isDescendantOf(a,"NOEMBED")||cvox.DomUtil.isDescendantOf(a,"STYLE")||!cvox.DomUtil.isVisible(a)||cvox.AriaUtil.isHidden(a))return!1;if(cvox.DomUtil.isControl(a)||cvox.DomUtil.isDescendantOf(a,"VIDEO")||cvox.DomUtil.isDescendantOf(a,"AUDIO")||"IFRAME"==a.tagName&&a.src&&0!=a.src.indexOf("javascript:"))return!0;
for(var b="button,input,select,textarea",c=a.parentElement;c&&"LABEL"!=c.tagName;)c=c.parentElement;if(c){var d=c.querySelector(b);if(c.hasAttribute("for")){if(c=c.getAttribute("for"),(c=document.getElementById(c))&&cvox.DomUtil.isControl(c)&&!d)return!1}else if(d)return!1}for(d=a.parentElement;d&&"LEGEND"!=d.tagName;)d=d.parentElement;if(d){for(c=d.parentElement;c&&"FIELDSET"!=c.tagName;)c=c.parentElement;d=c&&c.querySelector(b);if(c&&!d)return!1}if(cvox.DomPredicates.linkPredicate([a])||"TABLE"==
a.tagName||cvox.DomUtil.isMath(a)||cvox.DomPredicates.headingPredicate([a]))return!0;b=cvox.DomUtil.getValue(a)+" "+cvox.DomUtil.getName(a);a=cvox.DomUtil.getState(a,!0);return b.match(/^\s+$/)&&""===a?!1:!0};cvox.DomUtil.getAncestors=function(a){for(var b=[];a;)b.push(a),a=a.parentNode;for(b.reverse();b.length&&!b[0].tagName&&!b[0].nodeValue;)b.shift();return b};cvox.DomUtil.compareAncestors=function(a,b){for(var c=0;a[c]&&b[c]&&a[c]==b[c];)c++;a[c]||b[c]||(c=-1);return c};
cvox.DomUtil.getUniqueAncestors=function(a,b,c){a=cvox.DomUtil.getAncestors(a);b=cvox.DomUtil.getAncestors(b);a=cvox.DomUtil.compareAncestors(a,b);a=b.slice(a);return 0==a.length&&c?b:a};
cvox.DomUtil.getRoleMsg=function(a,b){var c;c=cvox.AriaUtil.getRoleNameMsg(a);c||("INPUT"==a.tagName?c=cvox.DomUtil.INPUT_TYPE_TO_INFORMATION_TABLE_MSG[a.type]:"A"==a.tagName&&cvox.DomUtil.isInternalLink(a)?c="internal_link":"A"==a.tagName&&a.getAttribute("name")?c="":a.isContentEditable?c="input_type_text":cvox.DomUtil.isMath(a)?c="math_expr":"TABLE"==a.tagName&&cvox.DomUtil.isLayoutTable(a)?c="":b==cvox.VERBOSITY_BRIEF?c=cvox.DomUtil.TAG_TO_INFORMATION_TABLE_BRIEF_MSG[a.tagName]:(c=cvox.DomUtil.TAG_TO_INFORMATION_TABLE_VERBOSE_MSG[a.tagName],
cvox.DomUtil.hasLongDesc(a)&&(c="image_with_long_desc"),!c&&a.onclick&&(c="clickable")));return c};cvox.DomUtil.getRole=function(a,b){var c=cvox.DomUtil.getRoleMsg(a,b)||"",d=c&&" "!=c?cvox.ChromeVox.msgs.getMsg(c):"";return d?d:c};cvox.DomUtil.getListLength=function(a){var b=0;for(a=a.firstChild;a;a=a.nextSibling)if("LI"==a.tagName||a.getAttribute&&"listitem"==a.getAttribute("role")){if(a.hasAttribute("aria-setsize")){var c=parseInt(a.getAttribute("aria-setsize"),10);if(!isNaN(c))return c}b++}return b};
cvox.DomUtil.getStateMsgs=function(a,b){var c=cvox.AriaUtil.getActiveDescendant(a);if(c)return cvox.DomUtil.getStateMsgs(c,b);var c=[],d=a.getAttribute?a.getAttribute("role"):"";(c=cvox.AriaUtil.getStateMsgs(a,b))||(c=[]);"INPUT"==a.tagName?a.hasAttribute("aria-checked")||(d={"checkbox-true":"checkbox_checked_state","checkbox-false":"checkbox_unchecked_state","radio-true":"radio_selected_state","radio-false":"radio_unselected_state"},(d=d[a.type+"-"+!!a.checked])&&c.push([d])):"SELECT"==a.tagName?
a.selectedOptions&&1>=a.selectedOptions.length?c.push(["list_position",cvox.ChromeVox.msgs.getNumber(a.selectedIndex+1),cvox.ChromeVox.msgs.getNumber(a.options.length)]):c.push(["selected_options_state",cvox.ChromeVox.msgs.getNumber(a.selectedOptions.length)]):"UL"!=a.tagName&&"OL"!=a.tagName&&"list"!=d||c.push(["list_with_items",cvox.ChromeVox.msgs.getNumber(cvox.DomUtil.getListLength(a))]);cvox.DomUtil.isDisabled(a)&&c.push(["aria_disabled_true"]);cvox.DomPredicates.linkPredicate([a])&&cvox.ChromeVox.visitedUrls[a.href]&&
c.push(["visited_url"]);a.accessKey&&c.push(["access_key",a.accessKey]);return c};cvox.DomUtil.getState=function(a,b){return cvox.NodeStateUtil.expand(cvox.DomUtil.getStateMsgs(a,b))};cvox.DomUtil.isFocusable=function(a){return a&&"number"==typeof a.tabIndex&&("A"!=a.tagName||a.hasAttribute("href")||a.hasAttribute("tabindex"))?0<=a.tabIndex||a.hasAttribute&&a.hasAttribute("tabindex")&&"-1"==a.getAttribute("tabindex")?!0:!1:!1};
cvox.DomUtil.findFocusableDescendant=function(a){return a&&(a=cvox.DomUtil.findNode(a,cvox.DomUtil.isFocusable))?a:null};cvox.DomUtil.countFocusableDescendants=function(a){return a?cvox.DomUtil.countNodes(a,cvox.DomUtil.isFocusable):0};cvox.DomUtil.isAttachedToDocument=function(a){for(;a;){if(a.tagName&&"HTML"==a.tagName)return!0;a=a.parentNode}return!1};
cvox.DomUtil.clickElem=function(a,b,c,d){var e=cvox.AriaUtil.getActiveDescendant(a);e&&(a=e);if(c){c=null;a.onclick&&(c=a.onclick);!c&&1!=a.nodeType&&a.parentNode&&a.parentNode.onclick&&(c=a.parentNode.onclick);e=!0;if(c)try{e=c()}catch(f){}if(!e)return}c=document.createEvent("MouseEvents");d=d?"dblclick":"mousedown";c.initMouseEvent(d,!0,!0,document.defaultView,1,0,0,0,0,!1,!1,b,!1,0,null);c.fromCvox=!0;try{a.dispatchEvent(c)}catch(g){}c=document.createEvent("MouseEvents");c.initMouseEvent("mouseup",
!0,!0,document.defaultView,1,0,0,0,0,!1,!1,b,!1,0,null);c.fromCvox=!0;try{a.dispatchEvent(c)}catch(h){}c=document.createEvent("MouseEvents");c.initMouseEvent("click",!0,!0,document.defaultView,1,0,0,0,0,!1,!1,b,!1,0,null);c.fromCvox=!0;try{a.dispatchEvent(c)}catch(k){}cvox.DomUtil.isInternalLink(a)&&cvox.DomUtil.syncInternalLink(a)};
cvox.DomUtil.syncInternalLink=function(a){var b=a.href.split("#")[1];a=document.getElementById(b);a||(b=document.getElementsByName(b),0<b.length&&(a=b[0]));if(a){var b=a.parentNode,c=document.createElement("div");c.setAttribute("tabindex","-1");b.insertBefore(c,a);c.setAttribute("chromevoxignoreariahidden",1);c.focus();cvox.ChromeVox.syncToNode(a,!1)}};
cvox.DomUtil.isInputTypeText=function(a){if(!a||a.constructor!=HTMLInputElement)return!1;switch(a.type){case "email":case "number":case "password":case "search":case "text":case "tel":case "url":case "":return!0;default:return!1}};cvox.DomUtil.isControl=function(a){if(cvox.AriaUtil.isControlWidget(a)&&cvox.DomUtil.isFocusable(a))return!0;if(a.tagName)switch(a.tagName){case "BUTTON":case "TEXTAREA":case "SELECT":return!0;case "INPUT":return"hidden"!=a.type}return a.isContentEditable?!0:!1};
cvox.DomUtil.isLeafLevelControl=function(a){return cvox.DomUtil.isControl(a)?!(cvox.AriaUtil.isCompositeControl(a)&&cvox.DomUtil.findFocusableDescendant(a)):!1};cvox.DomUtil.getSurroundingControl=function(a){var b=null;if(!cvox.DomUtil.isControl(a)&&a.hasAttribute&&a.hasAttribute("role"))for(b=a.parentElement;b&&!cvox.AriaUtil.isCompositeControl(b);)b=b.parentElement;return b};
cvox.DomUtil.directedNextLeafLikeNode=function(a,b,c){if(a!=document.body){for(;!cvox.DomUtil.directedNextSibling(a,b);){if(!a)return null;a=a.parentNode;if(a==document.body)return null}cvox.DomUtil.directedNextSibling(a,b)&&(a=cvox.DomUtil.directedNextSibling(a,b))}for(;cvox.DomUtil.directedFirstChild(a,b)&&!c(a);)a=cvox.DomUtil.directedFirstChild(a,b);return a==document.body?null:a};cvox.DomUtil.directedNextLeafNode=function(a,b){b=!!b;return cvox.DomUtil.directedNextLeafLikeNode(a,b,cvox.DomUtil.isLeafNode)};
cvox.DomUtil.previousLeafNode=function(a){return cvox.DomUtil.directedNextLeafNode(a,!0)};cvox.DomUtil.directedFindFirstNode=function(a,b,c){for(a=cvox.DomUtil.directedFirstChild(a,b);a;){if(c(a))return a;var d=cvox.DomUtil.directedFindFirstNode(a,b,c);if(d)return d;a=cvox.DomUtil.directedNextSibling(a,b)}return null};cvox.DomUtil.directedFindDeepestNode=function(a,b,c){var d=cvox.DomUtil.directedFindFirstNode(a,b,c);return d?cvox.DomUtil.directedFindDeepestNode(d,b,c):c(a)?a:null};
cvox.DomUtil.directedFindNextNode=function(a,b,c,d,e,f){e=!!e;f=!!f;if(!cvox.DomUtil.isDescendantOfNode(a,b)||a==b)return null;for(var g=cvox.DomUtil.directedNextSibling(a,c);g;){if(!f&&d(g))return g;var h=(f?cvox.DomUtil.directedFindDeepestNode:cvox.DomUtil.directedFindFirstNode)(g,c,d);if(h)return h;if(f&&d(g))return g;g=cvox.DomUtil.directedNextSibling(g,c)}a=a.parentNode;return e&&d(a)?a:cvox.DomUtil.directedFindNextNode(a,b,c,d,e,f)};
cvox.DomUtil.getControlValueAndStateString=function(a){var b=cvox.DomUtil.getSurroundingControl(a);return b?cvox.DomUtil.collapseWhitespace(cvox.DomUtil.getValue(a)+" "+cvox.DomUtil.getName(a)+" "+cvox.DomUtil.getState(a,!0)):cvox.DomUtil.collapseWhitespace(cvox.DomUtil.getValue(a)+" "+cvox.DomUtil.getState(a,!0))};cvox.DomUtil.isInternalLink=function(a){return 1==a.nodeType&&(a=a.getAttribute("href"))&&-1!=a.indexOf("#")?(a=a.split("#")[0],""==a||a==window.location.pathname):!1};
cvox.DomUtil.getLinkURL=function(a){if("A"==a.tagName){if(a.getAttribute("href"))return cvox.DomUtil.isInternalLink(a)?cvox.ChromeVox.msgs.getMsg("internal_link"):a.getAttribute("href")}else if(cvox.AriaUtil.getRoleName(a)==cvox.ChromeVox.msgs.getMsg("aria_role_link"))return cvox.ChromeVox.msgs.getMsg("unknown_link");return""};cvox.DomUtil.getContainingTable=function(a,b){var c=cvox.DomUtil.getAncestors(a);return cvox.DomUtil.findTableNodeInList(c,b)};
cvox.DomUtil.findTableNodeInList=function(a,b){b=b||{allowCaptions:!1};for(var c=a.length-1,d;d=a[c];c--)if(d.constructor!=Text){if(!b.allowCaptions&&"CAPTION"==d.tagName)break;if("TABLE"==d.tagName||cvox.AriaUtil.isGrid(d))return d}return null};
cvox.DomUtil.isLayoutTable=function(a){if(a.rows&&(1==a.rows.length||1==a.rows[0].childElementCount))return!0;if(cvox.AriaUtil.isGrid(a)||cvox.AriaUtil.isLandmark(a)||a.caption||a.summary||0<cvox.XpathUtil.evalXPath("tbody/tr/th",a).length&&0<cvox.XpathUtil.evalXPath("tbody/tr/td",a).length||0<cvox.XpathUtil.evalXPath("colgroup",a).length||0<cvox.XpathUtil.evalXPath("thead",a).length||0<cvox.XpathUtil.evalXPath("tfoot",a).length)return!1;if(0<cvox.XpathUtil.evalXPath("tbody/tr/td/embed",a).length||
0<cvox.XpathUtil.evalXPath("tbody/tr/td/object",a).length||0<cvox.XpathUtil.evalXPath("tbody/tr/td/iframe",a).length||0<cvox.XpathUtil.evalXPath("tbody/tr/td/applet",a).length)return!0;var b=0;cvox.DomUtil.hasBorder(a)||b++;6>=a.rows.length&&b++;12>=cvox.DomUtil.countPreviousTags(a)&&b++;0<cvox.XpathUtil.evalXPath("tbody/tr/td/table",a).length&&b++;return 3<=b};cvox.DomUtil.countPreviousTags=function(a){var b=cvox.DomUtil.getAncestors(a);return b.length+cvox.DomUtil.countPreviousSiblings(a)};
cvox.DomUtil.countPreviousSiblings=function(a){var b=0;for(a=a.previousSibling;null!=a;)a.constructor!=Text&&b++,a=a.previousSibling;return b};cvox.DomUtil.hasBorder=function(a){return a.frame?-1==a.frame.indexOf("void"):a.border?1==a.border.length?"0"!=a.border:0!=a.border.slice(0,-2):a.style.borderStyle&&"none"==a.style.borderStyle?!1:a.style.borderWidth?0!=a.style.borderWidth.slice(0,-2):a.style.borderColor?!0:!1};
cvox.DomUtil.getFirstLeafNode=function(){for(var a=document.body;a&&a.firstChild;)a=a.firstChild;for(;a&&!cvox.DomUtil.hasContent(a);)a=cvox.DomUtil.directedNextLeafNode(a);return a};cvox.DomUtil.findNode=function(a,b){var c=[],d=cvox.DomUtil.findNodes_(a,b,c,!0,1E4);return d?c[0]:void 0};cvox.DomUtil.countNodes=function(a,b){var c=[];cvox.DomUtil.findNodes_(a,b,c,!1,1E4);return c.length};
cvox.DomUtil.findNodes_=function(a,b,c,d,e){if(null!=a||0==e)for(a=a.firstChild;a;){if(b(a)&&(c.push(a),d))return!0;e-=1;if(cvox.DomUtil.findNodes_(a,b,c,d,e))return!0;a=a.nextSibling}return!1};cvox.DomUtil.toArray=function(a){for(var b=[],c=0;c<a.length;c++)b.push(a[c]);return b};
cvox.DomUtil.shallowChildlessClone=function(a,b){if("#text"==a.nodeName)return document.createTextNode(a.nodeValue);if("#comment"==a.nodeName)return document.createComment(a.nodeValue);for(var c=document.createElement(a.nodeName),d=0;d<a.attributes.length;++d){var e=a.attributes[d];b&&b[e.nodeName]||c.setAttribute(e.nodeName,e.nodeValue)}return c};
cvox.DomUtil.deepClone=function(a,b){for(var c=cvox.DomUtil.shallowChildlessClone(a,b),d=0;d<a.childNodes.length;++d)c.appendChild(cvox.DomUtil.deepClone(a.childNodes[d],b));return c};cvox.DomUtil.directedFirstChild=function(a,b){return b?a.lastChild:a.firstChild};cvox.DomUtil.directedNextSibling=function(a,b){return a?b?a.previousSibling:a.nextSibling:null};cvox.DomUtil.createSimpleClickFunction=function(a){var b=a.cloneNode(!0);return function(){cvox.DomUtil.clickElem(b,!1,!1)}};
cvox.DomUtil.addNodeToHead=function(a,b){if(!b||!document.getElementById(b)){var c=document.head||document.body;c.appendChild(a)}};cvox.DomUtil.getContainingMath=function(a){a=cvox.DomUtil.getAncestors(a);return cvox.DomUtil.findMathNodeInList(a)};cvox.DomUtil.findMathNodeInList=function(a){for(var b=0,c;c=a[b];b++)if(cvox.DomUtil.isMath(c))return c;return null};cvox.DomUtil.isMath=function(a){return cvox.DomUtil.isMathml(a)||cvox.DomUtil.isMathJax(a)||cvox.DomUtil.isMathImg(a)||cvox.AriaUtil.isMath(a)};
cvox.DomUtil.ALT_MATH_CLASSES={tex:["tex","latex"],asciimath:["numberedequation","inlineformula","displayformula"]};cvox.DomUtil.altMathQuerySelector=function(a){return(a=cvox.DomUtil.ALT_MATH_CLASSES[a])?a.map(function(a){return"img."+a}).join(", "):""};cvox.DomUtil.isMathImg=function(a){if(!a||!a.tagName||!a.className||"IMG"!=a.tagName)return!1;a=a.className.toLowerCase();return-1!=cvox.DomUtil.ALT_MATH_CLASSES.tex.indexOf(a)||-1!=cvox.DomUtil.ALT_MATH_CLASSES.asciimath.indexOf(a)};
cvox.DomUtil.isMathml=function(a){return a&&a.tagName?"math"==a.tagName.toLowerCase():!1};cvox.DomUtil.isMathJax=function(a){function b(a,b){return"SPAN"==a.tagName&&a.className.split(" ").some(function(a){return a.toLowerCase()==b})}return a&&a.tagName&&a.className?b(a,"math")?(a=cvox.DomUtil.getAncestors(a),a.some(function(a){return b(a,"mathjax")})):!1:!1};cvox.DomUtil.getMathSpanId=function(a){if(a=document.getElementById(a+"-Frame"))if(a=a.querySelector("span.math"))return a.id};
cvox.DomUtil.hasLongDesc=function(a){return a&&a.longDesc?!0:!1};cvox.DomUtil.getNodeTagName=function(a){return a.nodeType==Node.ELEMENT_NODE?a.tagName:""};cvox.DomUtil.purgeNodes=function(a){return cvox.DomUtil.toArray(a).filter(function(a){return a.nodeType!=Node.TEXT_NODE||!a.textContent.match(/^\s+$/)})};cvox.DomUtil.elementToPoint=function(a){if(!a)return{x:0,y:0};a.constructor==Text&&(a=a.parentNode);a=a.getBoundingClientRect();return{x:a.left+a.width/2,y:a.top+a.height/2}};
cvox.DomUtil.doesInputSupportSelection=function(a){return goog.isDef(a)&&"INPUT"==a.tagName&&"email"!=a.type&&"number"!=a.type};cvox.SelectionUtil=function(){};cvox.SelectionUtil.cleanUpParagraphForward=function(a){for(;3==a.focusNode.nodeType;){var b=a.focusNode,c=a.focusOffset;a.modify("extend","forward","sentence");if(b==a.focusNode&&c==a.focusOffset)return!1}return!0};cvox.SelectionUtil.cleanUpParagraphBack=function(a){for(var b,c;3==a.focusNode.nodeType&&(b=a.focusNode,c=a.focusOffset,a.modify("extend","backward","sentence"),b!=a.focusNode||c!=a.focusOffset););return!0};
cvox.SelectionUtil.cleanUpSentence=function(a){for(var b=!0;b;)if(3==a.focusNode.nodeType){var c=a.focusNode,d=a.focusOffset;if(0<a.rangeCount&&0<a.getRangeAt(0).endOffset)if("."==c.substringData(a.getRangeAt(0).endOffset-1,1))break;else if(" "==c.substringData(a.getRangeAt(0).endOffset-1,1))break;else{if(a.modify("extend","forward","sentence"),c==a.focusNode&&d==a.focusOffset)return!1}else break}else break;return!0};
cvox.SelectionUtil.findSelPosition=function(a){if(0==a.rangeCount)return[0,0];var b=a.getRangeAt(0).getBoundingClientRect();if(!b)return[0,0];a=window.pageYOffset+b.top;b=window.pageXOffset+b.left;return[a,b]};cvox.SelectionUtil.findTopLeftPosition=function(a){var b=0,c=0;if(a.offsetParent)for(b=a.offsetLeft,c=a.offsetTop,a=a.offsetParent;null!==a;)b+=a.offsetLeft,c+=a.offsetTop,a=a.offsetParent;return[c,b]};
cvox.SelectionUtil.isSelectionValid=function(a){var b=RegExp(/^\s+$/);return!(b.test(a.toString())||""==a.toString())};cvox.SelectionUtil.isRangeValid=function(a){a=a.cloneContents().textContent;var b=RegExp(/^\s+$/);return!(b.test(a)||""==a)};cvox.SelectionUtil.findPos_=function(a){var b=0,c=0;if(a.offsetParent){do b+=a.offsetLeft,c+=a.offsetTop;while(a=a.offsetParent)}return[b,c]};
cvox.SelectionUtil.scrollElementsToView=function(a){for(;a&&!a.getBoundingClientRect;)a=a.parentElement;if(a){for(var b=a,c=b.parentElement;b!=document.body&&c;)b.scrollTop=b.offsetTop,b.scrollLeft=b.offsetLeft,b=c,c=b.parentElement;a=cvox.SelectionUtil.findPos_(a);window.scrollTo(a[0]-window.innerWidth/2,a[1]-window.innerHeight/2)}};
cvox.SelectionUtil.scrollToSelection=function(a){if(0!=a.rangeCount){cvox.SelectionUtil.scrollElementsToView(a.focusNode);var b=cvox.SelectionUtil.findSelPosition(a);a=b[0];var b=b[1],c=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop,d=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,e=window.innerWidth||document.documentElement.innerWidth||document.body.clientWidth;b<e&&(b=0);c+d<a?(a-=d,window.scroll(b,a+100)):a<c&&window.scroll(b,
a-100)}};cvox.SelectionUtil.isAllWs=function(a){return!/[^\t\n\r ]/.test(a.data)};cvox.SelectionUtil.isIgnorable=function(a){return 8==a.nodeType||3==a.nodeType&&cvox.SelectionUtil.isAllWs(a)};cvox.SelectionUtil.nodeBefore=function(a){for(;a=a.previousSibling;)if(!cvox.SelectionUtil.isIgnorable(a))return a;return null};cvox.SelectionUtil.nodeAfter=function(a){for(;a=a.nextSibling;)if(!cvox.SelectionUtil.isIgnorable(a))return a;return null};
cvox.SelectionUtil.lastChildNode=function(a){for(a=a.lastChild;a;){if(!cvox.SelectionUtil.isIgnorable(a))return a;a=a.previousSibling}return null};cvox.SelectionUtil.firstChildNode=function(a){for(a=a.firstChild;a;){if(!cvox.SelectionUtil.isIgnorable(a))return a;a=a.nextSibling}return null};cvox.SelectionUtil.dataOf=function(a){a=a.data;a=a.replace(/[\t\n\r ]+/g," ");" "==a.charAt(0)&&(a=a.substring(1,a.length));" "==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1));return a};
cvox.SelectionUtil.hasContentWithTag=function(a,b){if(!a||!a.anchorNode||!a.focusNode)return!1;if(a.anchorNode.tagName&&a.anchorNode.tagName==b||a.focusNode.tagName&&a.focusNode.tagName==b||a.anchorNode.parentNode.tagName&&a.anchorNode.parentNode.tagName==b||a.focusNode.parentNode.tagName&&a.focusNode.parentNode.tagName==b)return!0;var c=a.getRangeAt(0).cloneContents(),d=document.createElement("span");d.appendChild(c);return 0<d.getElementsByTagName(b).length};
cvox.SelectionUtil.selectText=function(a,b,c){var d=document.createRange();d.setStart(a,b);d.setEnd(a,c);a=window.getSelection();a.removeAllRanges();a.addRange(d)};cvox.SelectionUtil.selectAllTextInNode=function(a){var b=document.createRange();b.setStart(a,0);b.setEndAfter(a);a=window.getSelection();a.removeAllRanges();a.addRange(b)};
cvox.SelectionUtil.collapseToStart=function(a){var b=window.getSelection(),c=b.anchorNode,d=b.anchorOffset;null==c&&(c=a,d=0);a=document.createRange();a.setStart(c,d);a.setEnd(c,d);b.removeAllRanges();b.addRange(a)};cvox.SelectionUtil.collapseToEnd=function(a){var b=window.getSelection(),c=b.focusNode,d=b.focusOffset;null==c&&(c=a,d=0);a=document.createRange();a.setStart(c,d);a.setEnd(c,d);b.removeAllRanges();b.addRange(a)};
cvox.SelectionUtil.getText=function(){var a=window.getSelection();if(cvox.SelectionUtil.hasContentWithTag(a,"IMG")){var b="",a=a.getRangeAt(0).cloneContents(),c=document.createElement("span");c.appendChild(a);for(var a=cvox.XpathUtil.getLeafNodes(c),c=0,d;d=a[c];c++)b=b+" "+cvox.DomUtil.getName(d);return b}return this.getSelectionText_()};cvox.SelectionUtil.getSelectionText_=function(){return""+window.getSelection()};
cvox.SelectionUtil.getRangeText=function(a){return a?a.cloneContents().textContent.replace(/\s+/g," "):""};cvox.TraverseUtil=function(){};cvox.TraverseUtil.getNodeText=function(a){return a.constructor==Text?a.data:""};cvox.TraverseUtil.treatAsLeafNode=function(a){return 0==a.childNodes.length||"SELECT"==a.nodeName||"listbox"==a.getAttribute("role")||"OBJECT"==a.nodeName};cvox.TraverseUtil.isWhitespace=function(a){return" "==a||"\n"==a||"\r"==a||"\t"==a};
cvox.TraverseUtil.setSelection=function(a,b){var c=window.getSelection();c.removeAllRanges();var d=document.createRange();d.setStart(a.node,a.index);d.setEnd(b.node,b.index);c.addRange(d);return c};cvox.TraverseUtil.isHidden=function(a){if(a instanceof HTMLElement&&"true"==a.getAttribute("aria-hidden"))return!0;switch(a.tagName){case "SCRIPT":case "NOSCRIPT":return!0}return!1};
cvox.TraverseUtil.forwardsChar=function(a,b,c){for(;;){var d=null;if(!cvox.TraverseUtil.treatAsLeafNode(a.node))for(var e=a.index;e<a.node.childNodes.length;e++){var f=a.node.childNodes[e];if(cvox.TraverseUtil.isHidden(f))f instanceof HTMLElement&&b.push(f);else if(cvox.DomUtil.isVisible(f,{checkAncestors:!1})){d=f;break}}if(d)a.node=d,a.index=0,a.text=cvox.TraverseUtil.getNodeText(a.node),a.node instanceof HTMLElement&&b.push(a.node);else{if(a.index<a.text.length)return a.text[a.index++];for(;null!=
a.node;){d=null;for(f=a.node.nextSibling;null!=f;f=f.nextSibling)if(cvox.TraverseUtil.isHidden(f))f instanceof HTMLElement&&b.push(f);else if(cvox.DomUtil.isVisible(f,{checkAncestors:!1})){d=f;break}if(d){a.node instanceof HTMLElement&&c.push(a.node);a.node=d;a.text=cvox.TraverseUtil.getNodeText(d);a.index=0;a.node instanceof HTMLElement&&b.push(a.node);break}if(a.node.parentNode&&a.node.parentNode.constructor!=HTMLBodyElement)a.node instanceof HTMLElement&&c.push(a.node),a.node=a.node.parentNode,
a.text=null,a.index=0;else return null}}}};
cvox.TraverseUtil.backwardsChar=function(a,b,c){for(;;){var d=null;if(!cvox.TraverseUtil.treatAsLeafNode(a.node))for(var e=a.index-1;0<=e;e--){var f=a.node.childNodes[e];if(cvox.TraverseUtil.isHidden(f))f instanceof HTMLElement&&b.push(f);else if(cvox.DomUtil.isVisible(f,{checkAncestors:!1})){d=f;break}}if(d)a.node=d,a.text=cvox.TraverseUtil.getNodeText(a.node),a.index=a.text.length?a.text.length:a.node.childNodes.length,a.node instanceof HTMLElement&&b.push(a.node);else{if(0<a.text.length&&0<a.index)return a.text[--a.index];
for(;;){d=null;for(f=a.node.previousSibling;null!=f;f=f.previousSibling)if(cvox.TraverseUtil.isHidden(f))f instanceof HTMLElement&&b.push(f);else if(cvox.DomUtil.isVisible(f,{checkAncestors:!1})){d=f;break}if(d){a.node instanceof HTMLElement&&c.push(a.node);a.node=d;a.text=cvox.TraverseUtil.getNodeText(d);a.index=a.text.length?a.text.length:a.node.childNodes.length;a.node instanceof HTMLElement&&b.push(a.node);break}if(a.node.parentNode&&a.node.parentNode.constructor!=HTMLBodyElement)a.node instanceof
HTMLElement&&c.push(a.node),a.node=a.node.parentNode,a.text=null,a.index=0;else return null}}}};
cvox.TraverseUtil.getNextChar=function(a,b,c,d,e){a.copyFrom(b);var f=cvox.TraverseUtil.forwardsChar(b,c,d);if(null==f)return null;for(var g=cvox.TraverseUtil.isWhitespace(f);cvox.TraverseUtil.isWhitespace(f)||cvox.TraverseUtil.isHidden(b.node);)if(f=cvox.TraverseUtil.forwardsChar(b,c,d),null==f)return null;if(e||!g)return a.copyFrom(b),a.index--,f;for(d=0;d<c.length;d++)if(cvox.TraverseUtil.isHidden(c[d]))return b.index--,a.copyFrom(b),a.index--," ";b.index--;return" "};
cvox.TraverseUtil.getPreviousChar=function(a,b,c,d,e){b.copyFrom(a);var f=cvox.TraverseUtil.backwardsChar(a,c,d);if(null==f)return null;for(var g=cvox.TraverseUtil.isWhitespace(f);cvox.TraverseUtil.isWhitespace(f)||cvox.TraverseUtil.isHidden(a.node);)if(f=cvox.TraverseUtil.backwardsChar(a,c,d),null==f)return null;if(e||!g)return b.copyFrom(a),b.index++,f;for(d=0;d<c.length;d++)if(cvox.TraverseUtil.isHidden(c[d]))return a.index++,b.copyFrom(a),b.index++," ";a.index++;return" "};
cvox.TraverseUtil.getNextWord=function(a,b,c,d){var e=b.clone(),f=cvox.TraverseUtil.forwardsChar(e,c,d);if(null==f)return null;for(;cvox.TraverseUtil.isWhitespace(f)||cvox.TraverseUtil.isHidden(e.node);)if(f=cvox.TraverseUtil.forwardsChar(e,c,d),null==f)return null;a.copyFrom(e);a.index--;b.copyFrom(e);a=f;c=[];d=[];f=cvox.TraverseUtil.forwardsChar(e,c,d);if(null==f)return a;for(;!cvox.TraverseUtil.isWhitespace(f)&&0==c.length&&0==d&&(a+=f,b.copyFrom(e),f=cvox.TraverseUtil.forwardsChar(e,c,d),null!=
f););return a};
cvox.TraverseUtil.getPreviousWord=function(a,b,c,d){var e=a.clone(),f=cvox.TraverseUtil.backwardsChar(e,c,d);if(null==f)return null;for(;cvox.TraverseUtil.isWhitespace(f)||cvox.TraverseUtil.isHidden(e.node);)if(f=cvox.TraverseUtil.backwardsChar(e,c,d),null==f)return null;b.copyFrom(e);b.index++;a.copyFrom(e);b=f;c=[];d=[];f=cvox.TraverseUtil.backwardsChar(e,c,d);if(null==f)return b;for(;!cvox.TraverseUtil.isWhitespace(f)&&0==c.length&&0==d.length&&(b=f+b,a.copyFrom(e),f=cvox.TraverseUtil.backwardsChar(e,c,
d),null!=f););return b};cvox.TraverseUtil.includesBreakTagOrSkippedNode=function(a,b,c){for(var d=0;d<a.length;d++){if(cvox.TraverseUtil.isHidden(a[d]))return!0;var e=window.getComputedStyle(a[d],null);if(e&&"inline"!=e.display||c[a[d].tagName])return!0}for(d=0;d<b.length;d++)if((e=window.getComputedStyle(b[d],null))&&"inline"!=e.display||c[b[d].tagName])return!0;return!1};
cvox.TraverseUtil.getNextSentence=function(a,b,c,d,e){return cvox.TraverseUtil.getNextString(a,b,c,d,function(a,b,c,d){return"."==a.substr(-1)?!0:cvox.TraverseUtil.includesBreakTagOrSkippedNode(c,d,e)})};cvox.TraverseUtil.getPreviousSentence=function(a,b,c,d,e){return cvox.TraverseUtil.getPreviousString(a,b,c,d,function(a,b,c,d){return"."==b.substr(-1)?!0:cvox.TraverseUtil.includesBreakTagOrSkippedNode(c,d,e)})};
cvox.TraverseUtil.getNextLine=function(a,b,c,d,e){var f=document.createRange(),g=null,h=b.clone();return cvox.TraverseUtil.getNextString(a,b,c,d,function(c,d,m,p){f.setStart(a.node,a.index);f.setEnd(b.node,b.index);c=f.getBoundingClientRect();g||(g=c);if(c.bottom!=g.bottom&&!cvox.DomPredicates.linkPredicate(cvox.DomUtil.getAncestors(b.node)))return b.copyFrom(h),!0;g=c;h.copyFrom(b);return cvox.TraverseUtil.includesBreakTagOrSkippedNode(m,p,e)})};
cvox.TraverseUtil.getPreviousLine=function(a,b,c,d,e){var f=document.createRange(),g=null,h=a.clone();return cvox.TraverseUtil.getPreviousString(a,b,c,d,function(c,d,m,p){f.setStart(a.node,a.index);f.setEnd(b.node,b.index);c=f.getBoundingClientRect();g||(g=c);if(c.top!=g.top&&!cvox.DomPredicates.linkPredicate(cvox.DomUtil.getAncestors(a.node)))return a.copyFrom(h),!0;g=c;h.copyFrom(a);return cvox.TraverseUtil.includesBreakTagOrSkippedNode(m,p,e)})};
cvox.TraverseUtil.getNextParagraph=function(a,b,c,d){return cvox.TraverseUtil.getNextString(a,b,c,d,function(a,b,c,d){for(a=0;a<c.length;a++)if(cvox.TraverseUtil.isHidden(c[a])||(b=window.getComputedStyle(c[a],null))&&"inline"!=b.display)return!0;for(a=0;a<d.length;a++)if((b=window.getComputedStyle(d[a],null))&&"inline"!=b.display)return!0;return!1})};
cvox.TraverseUtil.getPreviousParagraph=function(a,b,c,d){return cvox.TraverseUtil.getPreviousString(a,b,c,d,function(a,b,c,d){for(a=0;a<c.length;a++)if(cvox.TraverseUtil.isHidden(c[a])||(b=window.getComputedStyle(c[a],null))&&"inline"!=b.display)return!0;for(a=0;a<d.length;a++)if((b=window.getComputedStyle(d[a],null))&&"inline"!=b.display)return!0;return!1})};
cvox.TraverseUtil.getNextString=function(a,b,c,d,e){c=b.clone();d=b.clone();var f=[],g=[],h="",k=cvox.TraverseUtil.getNextWord(c,d,f,g);if(null==k)return null;for(a.copyFrom(c);!(h&&e(h,k,f,g)||(h&&(h+=" "),h+=k,b.copyFrom(d),f=[],g=[],k=cvox.TraverseUtil.getNextWord(c,d,f,g),null==k)););return h};
cvox.TraverseUtil.getPreviousString=function(a,b,c,d,e){c=a.clone();d=a.clone();var f=[],g=[],h="",k=cvox.TraverseUtil.getPreviousWord(c,d,f,g);if(null==k)return null;for(b.copyFrom(d);!(h&&e(h,k,f,g)||(h&&(h=" "+h),h=k+h,a.copyFrom(c),f=[],g=[],k=cvox.TraverseUtil.getPreviousWord(c,d,f,g),null==k)););return h};cvox.CursorSelection=function(a,b,c){this.start=a.clone();this.end=b.clone();void 0==c&&(c=!1);if((this.isReversed_=c)&&this.start.node.compareDocumentPosition(this.end.node)==cvox.CursorSelection.BEFORE||!this.isReversed_&&this.end.node.compareDocumentPosition(this.start.node)==cvox.CursorSelection.BEFORE)a=this.start,this.start=this.end,this.end=a};cvox.CursorSelection.BEFORE=4;
cvox.CursorSelection.prototype.setReversed=function(a){if(a==this.isReversed_)return this;var b=this.start;this.start=this.end;this.end=b;this.isReversed_=a;return this};cvox.CursorSelection.prototype.isReversed=function(){return this.isReversed_};cvox.CursorSelection.prototype.absStart=function(){return this.isReversed_?this.end:this.start};cvox.CursorSelection.prototype.absEnd=function(){return this.isReversed_?this.start:this.end};
cvox.CursorSelection.prototype.clone=function(){return new cvox.CursorSelection(this.start,this.end,this.isReversed_)};cvox.CursorSelection.prototype.select=function(){var a=window.getSelection();a.removeAllRanges();this.normalize();a.addRange(this.getRange())};cvox.CursorSelection.fromNode=function(a){if(!a)return null;var b=cvox.TraverseUtil.getNodeText(a);return new cvox.CursorSelection(new cvox.Cursor(a,0,b),new cvox.Cursor(a,0,b))};cvox.CursorSelection.fromBody=function(){return cvox.CursorSelection.fromNode(document.body)};
cvox.CursorSelection.prototype.getText=function(){return this.start.equals(this.end)?cvox.TraverseUtil.getNodeText(this.start.node):cvox.SelectionUtil.getRangeText(this.getRange())};cvox.CursorSelection.prototype.getRange=function(){var a=document.createRange();this.isReversed_?(a.setStart(this.end.node,this.end.index),a.setEnd(this.start.node,this.start.index)):(a.setStart(this.start.node,this.start.index),a.setEnd(this.end.node,this.end.index));return a};
cvox.CursorSelection.prototype.equals=function(a){return this.start.equals(a.start)&&this.end.equals(a.end)};cvox.CursorSelection.prototype.absEquals=function(a){return this.start.equals(a.start)&&this.end.equals(a.end)||this.end.equals(a.start)&&this.start.equals(a.end)};cvox.CursorSelection.prototype.directedBefore=function(a){var b=this.start.node.compareDocumentPosition(a.start.node)==cvox.CursorSelection.BEFORE;return this.start.node==a.start.node||(this.isReversed()?!b:b)};
cvox.CursorSelection.prototype.normalize=function(){if(0==this.absEnd().index&&this.absEnd().node){var a=this.absEnd().node,b=document.createRange();b.selectNodeContents(a);this.absEnd().index=b.endOffset}return this};cvox.CursorSelection.prototype.collapse=function(){if(this.start.equals(this.end))return this;this.end.copyFrom(this.start);if(0==this.start.text.length)return this;this.isReversed()?0<this.end.index&&this.end.index--:this.end.index<this.end.text.length&&this.end.index++;return this};cvox.Spannable=function(a,b){this.string_=a||"";this.spans_=[];if(goog.isDef(b)){var c=this.string_.length;this.spans_.push({value:b,start:0,end:c})}};cvox.Spannable.prototype.toString=function(){return this.string_};cvox.Spannable.prototype.getLength=function(){return this.string_.length};cvox.Spannable.prototype.setSpan=function(a,b,c){this.removeSpan(a);if(0<=b&&b<=c&&c<=this.string_.length)this.spans_.push({value:a,start:b,end:c});else throw new RangeError("span out of range");};
cvox.Spannable.prototype.removeSpan=function(a){for(var b=this.spans_.length-1;0<=b;b--)this.spans_[b].value===a&&this.spans_.splice(b,1)};cvox.Spannable.prototype.append=function(a){if(a instanceof cvox.Spannable){var b=a,c=this.getLength();this.string_+=b.string_;a.spans_.forEach(goog.bind(function(a){this.setSpan(a.value,a.start+c,a.end+c)},this))}else"string"===typeof a&&(this.string_+=a)};
cvox.Spannable.prototype.getSpanInstanceOf=function(a){for(var b=0;b<this.spans_.length;b++){var c=this.spans_[b];if(c.value instanceof a)return c.value}};cvox.Spannable.prototype.getSpans=function(a){for(var b=[],c=0;c<this.spans_.length;c++){var d=this.spans_[c];d.start<=a&&a<d.end&&b.push(d.value)}return b};cvox.Spannable.prototype.getSpanStart=function(a){for(var b=0;b<this.spans_.length;b++){var c=this.spans_[b];if(c.value===a)return c.start}};
cvox.Spannable.prototype.getSpanEnd=function(a){for(var b=0;b<this.spans_.length;b++){var c=this.spans_[b];if(c.value===a)return c.end}};
cvox.Spannable.prototype.substring=function(a,b){var c=goog.isDef(b)?b:this.string_.length;if(0>a||c>this.string_.length||a>c)throw new RangeError("substring indices out of range");for(var d=new cvox.Spannable(this.string_.substring(a,c)),e=0;e<this.spans_.length;e++){var f=this.spans_[e];if(f.start<=c&&f.end>=a){var g=Math.max(0,f.start-a),h=Math.min(c-a,f.end-a);d.spans_.push({value:f.value,start:g,end:h})}}return d};cvox.Spannable.prototype.trimLeft=function(){return this.trim_(!0,!1)};
cvox.Spannable.prototype.trimRight=function(){return this.trim_(!1,!0)};cvox.Spannable.prototype.trim=function(){return this.trim_(!0,!0)};cvox.Spannable.prototype.trim_=function(a,b){if(!a&&!b)return this;if(/^\s*$/.test(this.string_))return this.substring(0,0);var c=a?this.string_.match(/^\s*/)[0].length:0,d=b?this.string_.match(/\s*$/).index:this.string_.length;return this.substring(c,d)};cvox.NavBraille=function(a){this.text=a.text instanceof cvox.Spannable?a.text:new cvox.Spannable(a.text);this.startIndex=goog.isDef(a.startIndex)?a.startIndex:-1;this.endIndex=goog.isDef(a.endIndex)?a.endIndex:this.startIndex};cvox.NavBraille.fromText=function(a){return new cvox.NavBraille({text:a})};cvox.NavBraille.prototype.isEmpty=function(){return 0==this.text.getLength()};
cvox.NavBraille.prototype.toString=function(){return'NavBraille(text="'+this.text.toString()+'"  startIndex="'+this.startIndex+'"  endIndex="'+this.endIndex+'")'};cvox.NavBraille.prototype.write=function(){cvox.PlatformUtil.matchesPlatform(cvox.PlatformFilter.CHROMEOS|cvox.PlatformFilter.ANDROID)&&cvox.ChromeVox.braille.write(this)};cvox.BrailleKeyCommand={PAN_LEFT:"pan_left",PAN_RIGHT:"pan_right",LINE_UP:"line_up",LINE_DOWN:"line_down",TOP:"top",BOTTOM:"bottom",ROUTING:"routing",SECONDARY_ROUTING:"secondary_routing",DOTS:"dots",STANDARD_KEY:"standard_key"};cvox.BrailleKeyEvent={};cvox.BrailleInterface=function(){};cvox.BrailleInterface.prototype.write=function(){};cvox.BrailleInterface.prototype.setCommandListener=function(){};cvox.AbstractBraille=function(){};cvox.braille={};cvox.braille.LibLouisNativeClient=function(a,b){this.nmfPath_=a;this.tablesDir_=goog.isDef(b)?b:null;this.embedElement_=null;this.instanceState_=cvox.braille.LibLouisNativeClient.InstanceState.NOT_LOADED;this.pendingTranslators_=[];this.pendingRpcCallbacks_={};this.nextMessageId_=1};cvox.braille.LibLouisNativeClient.InstanceState={NOT_LOADED:0,LOADING:1,LOADED:2,ERROR:-1};
cvox.braille.LibLouisNativeClient.prototype.attachToElement=function(a){if(this.isAttached())throw Error("instance already attached");var b=document.createElement("embed");b.src=this.nmfPath_;b.type="application/x-nacl";b.width=0;b.height=0;goog.isNull(this.tablesDir_)||b.setAttribute("tablesdir",this.tablesDir_);b.addEventListener("load",goog.bind(this.onInstanceLoad_,this),!1);b.addEventListener("error",goog.bind(this.onInstanceError_,this),!1);b.addEventListener("message",goog.bind(this.onInstanceMessage_,
this),!1);a.appendChild(b);this.embedElement_=b;this.instanceState_=cvox.braille.LibLouisNativeClient.InstanceState.LOADING};cvox.braille.LibLouisNativeClient.prototype.detach=function(){if(!this.isAttached())throw Error("cannot detach unattached instance");this.embedElement_.parentNode.removeChild(this.embedElement_);this.embedElement_=null;this.instanceState_=cvox.braille.LibLouisNativeClient.InstanceState.NOT_LOADED};
cvox.braille.LibLouisNativeClient.prototype.isAttached=function(){return null!==this.embedElement_};
cvox.braille.LibLouisNativeClient.prototype.getTranslator=function(a,b){switch(this.instanceState_){case cvox.braille.LibLouisNativeClient.InstanceState.NOT_LOADED:case cvox.braille.LibLouisNativeClient.InstanceState.LOADING:this.pendingTranslators_.push({tableName:a,callback:b});break;case cvox.braille.LibLouisNativeClient.InstanceState.ERROR:b(null);break;case cvox.braille.LibLouisNativeClient.InstanceState.LOADED:this.rpc_("CheckTable",{table_name:a},goog.bind(function(c){c.success?(c=new cvox.braille.LibLouisNativeClient.Translator(this,
a),b(c)):b(null)},this))}};cvox.braille.LibLouisNativeClient.prototype.rpc_=function(a,b,c){if(this.instanceState_!==cvox.braille.LibLouisNativeClient.InstanceState.LOADED)throw Error("cannot send RPC: liblouis instance not loaded");var d=""+this.nextMessageId_++;b.message_id=d;b.command=a;a=JSON.stringify(b);goog.DEBUG&&window.console.debug("RPC -> "+a);this.embedElement_.postMessage(a);this.pendingRpcCallbacks_[d]=c};
cvox.braille.LibLouisNativeClient.prototype.onInstanceLoad_=function(){window.console.info("loaded liblouis Native Client instance");this.instanceState_=cvox.braille.LibLouisNativeClient.InstanceState.LOADED;this.pendingTranslators_.forEach(goog.bind(function(a){this.getTranslator(a.tableName,a.callback)},this));this.pendingTranslators_.length=0};
cvox.braille.LibLouisNativeClient.prototype.onInstanceError_=function(){window.console.error("failed to load liblouis Native Client instance");this.instanceState_=cvox.braille.LibLouisNativeClient.InstanceState.ERROR;this.pendingTranslators_.forEach(goog.bind(function(a){this.getTranslator(a.tableName,a.callback)},this));this.pendingTranslators_.length=0};
cvox.braille.LibLouisNativeClient.prototype.onInstanceMessage_=function(a){goog.DEBUG&&window.console.debug("RPC <- "+a.data);a=JSON.parse(a.data);var b=a.in_reply_to;if(goog.isDef(b)){goog.isDef(a.error)&&window.console.error("liblouis Native Client error",a.error);var c=this.pendingRpcCallbacks_[b];goog.isDef(c)&&(delete this.pendingRpcCallbacks_[b],c(a))}else window.console.warn("liblouis Native Client module sent message with no ID",a)};
cvox.braille.LibLouisNativeClient.Translator=function(a,b){this.instance_=a;this.tableName_=b};
cvox.braille.LibLouisNativeClient.Translator.prototype.translate=function(a,b,c){a={table_name:this.tableName_,text:a};goog.isDef(b.cursorPosition)&&(a.cursor_position=b.cursorPosition);this.instance_.rpc_("Translate",a,goog.bind(function(a){if(a.success&&goog.isString(a.cells)){var b=this.decodeHexString_(a.cells),f={};goog.isDef(a.text_to_braille)&&(f.textToBraille=a.text_to_braille);goog.isDef(a.braille_to_text)&&(f.brailleToText=a.braille_to_text);goog.isDef(a.cursor_position)&&(f.cursorPosition=
a.cursor_position);c(b,f)}else c(null,null)},this))};cvox.braille.LibLouisNativeClient.Translator.prototype.decodeHexString_=function(a){if(!/^([0-9a-f]{2})*$/i.test(a))throw Error("invalid hexadecimal string");for(var b=new Uint8Array(a.length/2),c=0,d=0;d<a.length;d+=2)b[c++]=parseInt(a.substring(d,d+2),16);return b.buffer};cvox.BrailleDisplayManager=function(){this.translator_=null;this.content_=new cvox.NavBraille({});this.translatedContent_=new ArrayBuffer(0);this.panPosition_=0;this.commandListener_=function(){};this.displayState_={available:!1,textCellCount:void 0};this.translatedExtras_={brailleToText:[],textToBraille:[]};if(goog.isDef(chrome.brailleDisplayPrivate)){var a=goog.bind(this.onDisplayState_,this);chrome.brailleDisplayPrivate.getDisplayState(a);chrome.brailleDisplayPrivate.onDisplayStateChanged.addListener(a);
chrome.brailleDisplayPrivate.onKeyEvent.addListener(goog.bind(this.onKeyEvent_,this))}};cvox.BrailleDisplayManager.CURSOR_DOTS_=192;cvox.BrailleDisplayManager.prototype.setContent=function(a){this.content_=a;this.translateContent_()};cvox.BrailleDisplayManager.prototype.setCommandListener=function(a){this.commandListener_=a};cvox.BrailleDisplayManager.prototype.setTranslator=function(a){var b=null!=this.translator_;this.translator_=a;this.translateContent_();b&&!this.translator_&&this.refresh_()};
cvox.BrailleDisplayManager.prototype.onDisplayState_=function(a){this.displayState_=a;this.panPosition_=0;this.refresh_()};cvox.BrailleDisplayManager.prototype.refresh_=function(){if(this.displayState_.available){var a=this.translatedContent_.slice(this.panPosition_,this.panPosition_+this.displayState_.textCellCount);chrome.brailleDisplayPrivate.writeDots(a)}};
cvox.BrailleDisplayManager.prototype.translateContent_=function(){this.translator_?this.translator_.translate(this.content_.text.toString(),{},goog.bind(function(a,b){a=a||new ArrayBuffer(0);b=b||{brailleToText:[],textToBraille:[]};var c=this.content_.startIndex,d=this.content_.endIndex;this.panPosition_=0;if(0<=c){if(c>=b.textToBraille.length){var c=new ArrayBuffer(a.byteLength+1),e=new Uint8Array(c);e.set(new Uint8Array(a));a=c;c=a.byteLength-1}else c=b.textToBraille[c];d=d>=b.textToBraille.length?
a.byteLength:b.textToBraille[d];this.writeCursor_(a,c,d);this.displayState_.available&&(d=this.displayState_.textCellCount,this.panPosition_=Math.floor(c/d)*d)}this.translatedContent_=a;this.translatedExtras_=b;this.refresh_()},this)):this.translatedContent_=new ArrayBuffer(0)};
cvox.BrailleDisplayManager.prototype.onKeyEvent_=function(a){switch(a.command){case cvox.BrailleKeyCommand.ROUTING:var b=this.translatedExtras_.brailleToText[a.displayPosition+this.panPosition_];goog.isDef(b)||(b=a.displayPosition+this.panPosition_);a.displayPosition=b;case cvox.BrailleKeyCommand.LINE_UP:case cvox.BrailleKeyCommand.LINE_DOWN:case cvox.BrailleKeyCommand.TOP:case cvox.BrailleKeyCommand.BOTTOM:this.commandListener_(a);break;case cvox.BrailleKeyCommand.PAN_LEFT:this.panLeft_();break;
case cvox.BrailleKeyCommand.PAN_RIGHT:this.panRight_()}};cvox.BrailleDisplayManager.prototype.panLeft_=function(){0>=this.panPosition_?this.commandListener_({command:cvox.BrailleKeyCommand.PAN_LEFT}):(this.panPosition_=Math.max(0,this.panPosition_-this.displayState_.textCellCount),this.refresh_())};
cvox.BrailleDisplayManager.prototype.panRight_=function(){var a=this.panPosition_+this.displayState_.textCellCount;a>=this.translatedContent_.byteLength?this.commandListener_({command:cvox.BrailleKeyCommand.PAN_RIGHT}):(this.panPosition_=a,this.refresh_())};cvox.BrailleDisplayManager.prototype.writeCursor_=function(a,b,c){if(!(0>b||b>=a.byteLength||c<b||c>a.byteLength))for(b==c&&(c=b+1),a=new DataView(a);b<c;){var d=a.getUint8(b),d=d|cvox.BrailleDisplayManager.CURSOR_DOTS_;a.setUint8(b,d);b++}};cvox.BrailleTable={};cvox.BrailleTable.TABLE_PATH="chromevox/background/braille/tables.json";cvox.BrailleTable.getAll=function(a){var b=chrome.extension.getURL(cvox.BrailleTable.TABLE_PATH);if(!b)throw"Invalid path: "+cvox.BrailleTable.TABLE_PATH;var c=new XMLHttpRequest;c.open("GET",b,!0);c.onreadystatechange=function(){4==c.readyState&&200==c.status&&a(JSON.parse(c.responseText))};c.send()};cvox.BrailleBackground=function(){this.displayManager_=new cvox.BrailleDisplayManager;cvox.BrailleTable.getAll(goog.bind(function(a){this.tables_=a;this.initialize_(0)},this));this.setCommandListener(this.defaultCommandListener_)};goog.inherits(cvox.BrailleBackground,cvox.AbstractBraille);cvox.BrailleBackground.prototype.write=function(a){this.displayManager_.setContent(a)};cvox.BrailleBackground.prototype.setCommandListener=function(a){this.displayManager_.setCommandListener(a)};
cvox.BrailleBackground.prototype.refreshTranslator=function(){if(this.liblouis_){var a=localStorage.brailleTable,b,c="brailleTable6"==localStorage.brailleTableType?"6":"8",d=this.tables_;if(!a){var a="en-US-comp8",e=chrome.i18n.getMessage("@@ui_locale").split(/[_-]/),f=e[0],g=e[1],e=d.filter(function(a){return a.locale.split(/[_-]/)[0]==f});0<e.length&&(a=e[0].id,c=e[0].dots,b=e[0].fileName,g&&(e=e.filter(function(a){return a.locale.split(/[_-]/)[1]==g}),0<e.length&&(a=e[0].id,c=e[0].dots,b=e[0].fileName)))}b||
(b=d.filter(function(b){return b.id==a}),b=b[0].fileName);localStorage.brailleTable=a;"6"==c?(localStorage.brailleTableType="brailleTable6",localStorage.brailleTable6=a):(localStorage.brailleTableType="brailleTable8",localStorage.brailleTable8=a);localStorage.brailleTable6||(localStorage.brailleTable6="en-US-g1");localStorage.brailleTable8||(localStorage.brailleTable8="en-US-comp8");this.liblouis_.getTranslator(b,goog.bind(function(a){this.displayManager_.setTranslator(a)},this))}};
cvox.BrailleBackground.prototype.initialize_=function(a){cvox.ChromeVox.isChromeOS&&(5<a?console.error("Timeout waiting for document.body; not initializing braille."):document.body?(this.liblouis_=new cvox.braille.LibLouisNativeClient(chrome.extension.getURL("chromevox/background/braille/liblouis_nacl.nmf"),chrome.extension.getURL("chromevox/background/braille/tables")),this.liblouis_.attachToElement(document.body),this.refreshTranslator()):window.setTimeout(goog.bind(this.initialize_,this,++a),500))};
cvox.BrailleBackground.prototype.defaultCommandListener_=function(a){a={message:"BRAILLE",args:a};cvox.ExtensionBridge.send(a)};cvox.AbstractHost=function(){};cvox.AbstractHost.State={ACTIVE:0,INACTIVE:1,KILLED:2};cvox.AbstractHost.prototype.init=function(){};cvox.AbstractHost.prototype.sendToBackgroundPage=function(){};cvox.AbstractHost.prototype.getApiSrc=function(){return""};cvox.AbstractHost.prototype.getFileSrc=function(){return""};cvox.AbstractHost.prototype.hasTtsCallback=function(){return!0};cvox.AbstractHost.prototype.mustRedispatchClickEvent=function(){return!1};
cvox.AbstractHost.prototype.activateOrDeactivateChromeVox=function(a){this.onStateChanged_(a?cvox.AbstractHost.State.ACTIVE:cvox.AbstractHost.State.INACTIVE)};
cvox.AbstractHost.prototype.onStateChanged_=function(a){var b=a==cvox.AbstractHost.State.ACTIVE;if(b!=cvox.ChromeVox.isActive)switch(cvox.ChromeVoxEventWatcher.cleanup(window),a){case cvox.AbstractHost.State.ACTIVE:cvox.ChromeVox.isActive=!0;cvox.ChromeVox.navigationManager.showOrHideIndicator(!0);cvox.ChromeVoxEventWatcher.init(window);document.activeElement?(a=document.hasFocus()&&!document.webkitHidden,cvox.ApiImplementation.syncToNode(document.activeElement,a)):cvox.ChromeVox.navigationManager.updateIndicator();
break;case cvox.AbstractHost.State.INACTIVE:cvox.ChromeVox.isActive=!1;cvox.ChromeVox.navigationManager.showOrHideIndicator(!1);cvox.ChromeVoxEventWatcher.init(window);break;case cvox.AbstractHost.State.KILLED:cvox.ChromeVox.isActive=!1,cvox.ChromeVox.navigationManager.showOrHideIndicator(!1)}};cvox.MathJaxInterface=function(){};cvox.MathJaxInterface.prototype.getAllJax=function(){};cvox.AbstractMathJax=function(){};cvox.AbstractMsgs=function(){};cvox.AbstractMsgs.prototype.getMsg=function(){};cvox.AbstractMsgs.prototype.getNumber=function(){};cvox.HostFactory=function(){};cvox.HostFactory.getHost=function(){return new cvox.HostFactory.hostConstructor};cvox.HostFactory.getTts=function(){return new cvox.HostFactory.ttsConstructor};cvox.HostFactory.getBraille=function(){return new cvox.HostFactory.brailleConstructor};cvox.HostFactory.getMsgs=function(){return new cvox.HostFactory.msgsConstructor};cvox.HostFactory.getEarcons=function(){return new cvox.HostFactory.earconsConstructor};cvox.HostFactory.getMathJax=function(){return new cvox.HostFactory.mathJaxConstructor};cvox.ChromeVoxJSON||(cvox.ChromeVoxJSON={});
window.JSON&&"[object JSON]"==window.JSON.toString()?cvox.ChromeVoxJSON=window.JSON:function(){function a(a){return 10>a?"0"+a:a}function b(a){e.lastIndex=0;return e.test(a)?'"'+a.replace(e,function(a){var b=h[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function c(a,d){var e,h,n,s,u=f,t,r=d[a];r&&"object"===typeof r&&"function"===typeof r.toJSON&&(r=r.toJSON(a));"function"===typeof k&&(r=k.call(d,a,r));switch(typeof r){case "string":return b(r);
case "number":return isFinite(r)?String(r):"null";case "boolean":case "null":return String(r);case "object":if(!r)return"null";f+=g;t=[];if("[object Array]"===Object.prototype.toString.apply(r)){s=r.length;for(e=0;e<s;e+=1)t[e]=c(e,r)||"null";n=0===t.length?"[]":f?"[\n"+f+t.join(",\n"+f)+"\n"+u+"]":"["+t.join(",")+"]";f=u;return n}if(k&&"object"===typeof k)for(s=k.length,e=0;e<s;e+=1)h=k[e],"string"===typeof h&&(n=c(h,r))&&t.push(b(h)+(f?": ":":")+n);else for(h in r)Object.hasOwnProperty.call(r,h)&&
(n=c(h,r))&&t.push(b(h)+(f?": ":":")+n);n=0===t.length?"{}":f?"{\n"+f+t.join(",\n"+f)+"\n"+u+"}":"{"+t.join(",")+"}";f=u;return n}}"function"!==typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"Z":"null"},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});
var d=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof cvox.ChromeVoxJSON.stringify&&(cvox.ChromeVoxJSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&
(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});"function"!==typeof cvox.ChromeVoxJSON.parse&&(cvox.ChromeVoxJSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=String(a);d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));
if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})}();cvox.ExtensionBridge=function(){};cvox.ExtensionBridge.init=function(){var a=cvox.ExtensionBridge;a.messageListeners=[];a.disconnectListeners=[];/^chrome-extension:\/\/.*background\.html$/.test(window.location.href)?(a.context=a.BACKGROUND,a.initBackground()):chrome&&chrome.extension&&(a.context=a.CONTENT_SCRIPT,a.initContentScript())};cvox.ExtensionBridge.BACKGROUND=0;cvox.ExtensionBridge.CONTENT_SCRIPT=1;cvox.ExtensionBridge.PORT_NAME="cvox.ExtensionBridge.Port";cvox.ExtensionBridge.PING_MSG="cvox.ExtensionBridge.Ping";
cvox.ExtensionBridge.PONG_MSG="cvox.ExtensionBridge.Pong";cvox.ExtensionBridge.send=function(a){var b=cvox.ExtensionBridge;switch(b.context){case b.BACKGROUND:b.sendBackgroundToContentScript(a);break;case b.CONTENT_SCRIPT:b.sendContentScriptToBackground(a)}};cvox.ExtensionBridge.addMessageListener=function(a){cvox.ExtensionBridge.messageListeners.push(a)};cvox.ExtensionBridge.addDisconnectListener=function(a){cvox.ExtensionBridge.disconnectListeners.push(a)};
cvox.ExtensionBridge.removeMessageListeners=function(){cvox.ExtensionBridge.messageListeners.length=0};cvox.ExtensionBridge.uniqueId=function(){var a=cvox.ExtensionBridge;return a.id_};
cvox.ExtensionBridge.initBackground=function(){var a=cvox.ExtensionBridge;a.portCache_=[];a.nextPongId_=1;a.id_=0;var b=function(b){b.name==a.PORT_NAME&&(a.portCache_.push(b),b.onMessage.addListener(function(d){if(d[cvox.ExtensionBridge.PING_MSG])d={},d[cvox.ExtensionBridge.PONG_MSG]=a.nextPongId_++,b.postMessage(d);else for(var e=0;e<a.messageListeners.length;e++)a.messageListeners[e](d,b)}),b.onDisconnect.addListener(function(){for(var d=0;d<a.portCache_.length;d++)if(a.portCache_[d]==b){a.portCache_.splice(d,
1);break}}))};chrome.extension.onConnect.addListener(b);chrome.extension.onConnectExternal.addListener(b)};
cvox.ExtensionBridge.initContentScript=function(){var a=cvox.ExtensionBridge;a.connected=!1;a.pingAttempts=0;a.queuedMessages=[];a.id_=-1;var b=function(b,d,e){if(!b||!b.srcFile){if(b[cvox.ExtensionBridge.PONG_MSG])a.gotPongFromBackgroundPage(b[cvox.ExtensionBridge.PONG_MSG]);else for(d=0;d<a.messageListeners.length;d++)a.messageListeners[d](b,cvox.ExtensionBridge.backgroundPort);e({})}};chrome.extension.onMessage.addListener(b);a.setupBackgroundPort();a.tryToPingBackgroundPage()};
cvox.ExtensionBridge.setupBackgroundPort=function(){var a=cvox.ExtensionBridge;a.backgroundPort=chrome.extension.connect({name:a.PORT_NAME});a.backgroundPort.onMessage.addListener(function(b){if(b[cvox.ExtensionBridge.PONG_MSG])a.gotPongFromBackgroundPage(b[cvox.ExtensionBridge.PONG_MSG]);else for(var c=0;c<a.messageListeners.length;c++)a.messageListeners[c](b,a.backgroundPort)});a.backgroundPort.onDisconnect.addListener(function(){if(a.connected)for(var b=0;b<a.disconnectListeners.length;b++)a.disconnectListeners[b]();
else a.backgroundPort=null})};cvox.ExtensionBridge.tryToPingBackgroundPage=function(){var a=cvox.ExtensionBridge;if(!a.connected)if(a.pingAttempts++,5<a.pingAttempts)for(var b=0;b<a.disconnectListeners.length;b++)a.disconnectListeners[b]();else b={},b[cvox.ExtensionBridge.PING_MSG]=1,a.backgroundPort||a.setupBackgroundPort(),a.backgroundPort.postMessage(b),window.setTimeout(cvox.ExtensionBridge.tryToPingBackgroundPage,500)};
cvox.ExtensionBridge.gotPongFromBackgroundPage=function(a){var b=cvox.ExtensionBridge;b.connected=!0;b.id_=a;for(console.log("Got unique id"+b.id_);0<b.queuedMessages.length;)b.sendContentScriptToBackground(b.queuedMessages.shift())};cvox.ExtensionBridge.sendContentScriptToBackground=function(a){var b=cvox.ExtensionBridge;b.connected?cvox.ExtensionBridge.backgroundPort?cvox.ExtensionBridge.backgroundPort.postMessage(a):chrome.extension.sendMessage(a):b.queuedMessages.push(a)};
cvox.ExtensionBridge.sendBackgroundToContentScript=function(a){chrome.tabs.query({active:!0,lastFocusedWindow:!0},function(b){b&&0<b.length?chrome.tabs.sendMessage(b[0].id,a):cvox.ExtensionBridge.portCache_.forEach(function(b){b.postMessage(a)})})};cvox.ExtensionBridge.init();cvox.ChromeEarcons=function(){cvox.AbstractEarcons.call(this)};goog.inherits(cvox.ChromeEarcons,cvox.AbstractEarcons);cvox.ChromeEarcons.prototype.playEarcon=function(a){cvox.ChromeEarcons.superClass_.playEarcon.call(this,a);this.enabled&&cvox.ExtensionBridge.send({target:"EARCON",action:"play",earcon:a})};
cvox.ChromeEarcons.prototype.toggle=function(){cvox.ChromeEarcons.superClass_.toggle.call(this);cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",action:"setPref",pref:"earcons",value:this.enabled});this.enabled||cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",action:"setPref",pref:"useVerboseMode",value:!0});return this.enabled};cvox.HostFactory.earconsConstructor=cvox.ChromeEarcons;cvox.BuildInfo={};cvox.BuildInfo.build="development build";"undefined"!=typeof goog&&goog.provide&&(cvox.ApiUtil={});window.cvox||(window.cvox={});cvox.ApiUtils=function(){};cvox.ApiUtils.nextCvoxId_=1;
cvox.ApiUtils.makeNodeReference=function(a){if(a.id&&document.getElementById(a.id)==a)return{id:a.id};if(a instanceof HTMLElement){var b=cvox.ApiUtils.nextCvoxId_;a.setAttribute("cvoxid",b);cvox.ApiUtils.nextCvoxId_=(cvox.ApiUtils.nextCvoxId_+1)%100;return{cvoxid:b}}if(a.parentElement){for(var c=a.parentElement,d=-1,b=0;b<c.childNodes.length;b++)if(c.childNodes[b]==a){d=b;break}if(0<=d)return b=cvox.ApiUtils.nextCvoxId_,c.setAttribute("cvoxid",b),cvox.ApiUtils.nextCvoxId_=(cvox.ApiUtils.nextCvoxId_+
1)%100,{cvoxid:b,childIndex:d}}throw"Cannot reference node: "+a;};cvox.ApiUtils.getNodeFromRef=function(a){if(a.id)return document.getElementById(a.id);if(a.cvoxid){var b='*[cvoxid="'+a.cvoxid+'"]';(b=document.querySelector(b))&&b.removeAttribute&&b.removeAttribute("cvoxid");return null!=a.childIndex?b.childNodes[a.childIndex]:b}throw"Bad node reference: "+cvox.ChromeVoxJSON.stringify(a);};cvox.ScriptInstaller={};cvox.ScriptInstaller.blacklistPattern=/chrome:\/\/|chrome-extension:\/\//;
cvox.ScriptInstaller.installScript=function(a,b,c,d){if(cvox.ScriptInstaller.blacklistPattern.test(document.URL)||document.querySelector("script["+b+"]")||!a)return!1;for(var e=0,f;f=a[e];e++){var g=new XMLHttpRequest,h=f+"?"+(new Date).getTime();g.onreadystatechange=function(){if(4==g.readyState){var a=g.responseText,a=a+("\n//# sourceURL="+f+"\n"),c=document.createElement("script");c.type="text/javascript";c.setAttribute(b,"1");c.textContent=a;d&&c.setAttribute("chromevoxScriptBase",d);cvox.DomUtil.addNodeToHead(c)}};
try{g.open("GET",h,!1),g.send(null)}catch(k){return window.console.log("Warning: ChromeVox external script loading for "+document.location+" stopped after failing to install "+f),!1}}c&&c();return!0};cvox.ApiImplementation=function(){};cvox.ApiImplementation.init=function(a){window.addEventListener("message",cvox.ApiImplementation.portSetup,!0);var b=[];b.push(cvox.ChromeVox.host.getFileSrc("chromevox/injected/api_util.js"));b.push(cvox.ChromeVox.host.getApiSrc());b.push(cvox.ApiImplementation.siteSpecificScriptLoader);a=cvox.ScriptInstaller.installScript(b,"cvoxapi",a,cvox.ApiImplementation.siteSpecificScriptBase);a||(window.location.href="javascript:cvox.Api.internalEnable();")};
cvox.ApiImplementation.portSetup=function(a){return"cvox.PortSetup"==a.data?(cvox.ApiImplementation.port=a.ports[0],cvox.ApiImplementation.port.onmessage=function(a){cvox.ApiImplementation.dispatchApiMessage(cvox.ChromeVoxJSON.parse(a.data))},a.stopPropagation(),!1):!0};
cvox.ApiImplementation.dispatchApiMessage=function(a){var b;switch(a.cmd){case "speak":b=cvox.ApiImplementation.speak;break;case "speakNodeRef":b=cvox.ApiImplementation.speakNodeRef;break;case "stop":b=cvox.ApiImplementation.stop;break;case "playEarcon":b=cvox.ApiImplementation.playEarcon;break;case "syncToNodeRef":b=cvox.ApiImplementation.syncToNodeRef;break;case "clickNodeRef":b=cvox.ApiImplementation.clickNodeRef;break;case "getBuild":b=cvox.ApiImplementation.getBuild;break;case "getVersion":b=
cvox.ApiImplementation.getVersion;break;case "getCurrentNode":b=cvox.ApiImplementation.getCurrentNode;break;case "getCvoxModKeys":b=cvox.ApiImplementation.getCvoxModKeys;break;case "isKeyShortcut":b=cvox.ApiImplementation.isKeyShortcut;break;case "setKeyEcho":b=cvox.ApiImplementation.setKeyEcho;break;case "Math.defineRule":b=cvox.ApiImplementation.Math.defineRule}if(!b)throw"Unknown API call: "+a.cmd;b.apply(cvox.ApiImplementation,a.args)};
function setupEndCallback_(a,b){var c=function(){cvox.ApiImplementation.port.postMessage(cvox.ChromeVoxJSON.stringify({id:b}))};a&&(a.endCallback=c)}cvox.ApiImplementation.speak=function(a,b,c,d){cvox.ChromeVox.isActive&&(d||(d={}),setupEndCallback_(d,a),cvox.ChromeVox.tts.speak(b,c,d))};cvox.ApiImplementation.speakNode=function(a,b,c){cvox.ChromeVox.isActive&&cvox.ChromeVox.tts.speak(cvox.DomUtil.getName(a),b,c)};
cvox.ApiImplementation.speakNodeRef=function(a,b,c,d){b=cvox.ApiUtils.getNodeFromRef(b);d||(d={});setupEndCallback_(d,a);cvox.ApiImplementation.speakNode(b,c,d)};cvox.ApiImplementation.stop=function(){cvox.ChromeVox.isActive&&cvox.ChromeVox.tts.stop()};cvox.ApiImplementation.playEarcon=function(a){cvox.ChromeVox.isActive&&cvox.ChromeVox.earcons.playEarconByName(a)};cvox.ApiImplementation.syncToNodeRef=function(a,b){var c=cvox.ApiUtils.getNodeFromRef(a);cvox.ApiImplementation.syncToNode(c,b)};
cvox.ApiImplementation.syncToNode=function(a,b,c){cvox.ChromeVox.isActive&&(void 0==c&&(c=cvox.AbstractTts.QUEUE_MODE_FLUSH),cvox.ChromeVox.navigationManager.updateSelToArbitraryNode(a,!0),cvox.ChromeVox.navigationManager.updateIndicator(),void 0==b&&(b=!1),cvox.AriaUtil.isHiddenRecursive(a)&&(b=!1),b&&cvox.ChromeVox.navigationManager.speakDescriptionArray(cvox.ApiImplementation.getDesc_(a),c,null),cvox.ChromeVox.navigationManager.getBraille().write(),cvox.ChromeVox.navigationManager.updatePosition(a))};
cvox.ApiImplementation.getCurrentNode=function(a){var b=cvox.ChromeVox.navigationManager.getCurrentNode();cvox.ApiImplementation.port.postMessage(cvox.ChromeVoxJSON.stringify({id:a,currentNode:cvox.ApiUtils.makeNodeReference(b)}))};
cvox.ApiImplementation.getDesc_=function(a){if(!a.hasAttribute("cvoxnodedesc"))return cvox.ChromeVox.navigationManager.getDescription();a=cvox.ChromeVoxJSON.parse(a.getAttribute("cvoxnodedesc"));for(var b=[],c=0;c<a.length;++c){var d=a[c];b.push(new cvox.NavDescription({context:d.context,text:d.text,userValue:d.userValue,annotation:d.annotation}))}return b};cvox.ApiImplementation.clickNodeRef=function(a,b){cvox.DomUtil.clickElem(cvox.ApiUtils.getNodeFromRef(a),b,!1)};
cvox.ApiImplementation.getBuild=function(a){cvox.ApiImplementation.port.postMessage(cvox.ChromeVoxJSON.stringify({id:a,build:cvox.BuildInfo.build}))};cvox.ApiImplementation.getVersion=function(a){var b=cvox.ChromeVox.version;null==b?window.setTimeout(function(){cvox.ApiImplementation.getVersion(a)},1E3):cvox.ApiImplementation.port.postMessage(cvox.ChromeVoxJSON.stringify({id:a,version:b}))};
cvox.ApiImplementation.getCvoxModKeys=function(a){cvox.ApiImplementation.port.postMessage(cvox.ChromeVoxJSON.stringify({id:a,keyCodes:cvox.KeyUtil.cvoxModKeyCodes()}))};cvox.ApiImplementation.isKeyShortcut=function(a,b){var c=cvox.KeyUtil.keyEventToKeySequence(b);cvox.ApiImplementation.port.postMessage(cvox.ChromeVoxJSON.stringify({id:a,isHandled:cvox.ChromeVoxKbHandler.handlerKeyMap.hasKey(c)}))};
cvox.ApiImplementation.setKeyEcho=function(a){var b=cvox.ChromeVox.keyEcho;b[document.location.href]=a;cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",action:"setPref",pref:"keyEcho",value:JSON.stringify(b)})};cvox.ApiImplementation.Math=function(){};cvox.ApiImplementation.Math.defineRule=function(a,b,c,d,e){var f=cvox.MathmlStore.getInstance(),g=Array.prototype.slice.call(arguments,4),g=[a,b,c,d].concat(g);f.defineRule.apply(f,g)};cvox.ChromeVoxHTMLDateWidget=function(a,b){var c=this;this.pos_=0;var d=2;if("month"==a.type||"week"==a.type)d=1;this.maxPos_=d;this.dateElem_=a;this.dateTts_=b;this.pDay_=this.pWeek_=this.pMonth_=this.pYear_=-1;this.keyListener_=function(a){c.eventHandler_(a)};this.blurListener_=function(){c.shutdown()};0==this.dateElem_.value.length&&this.forceInitTime_();for(d=0;d<this.maxPos_;d++){var e=document.createEvent("KeyboardEvent");e.initKeyboardEvent("keydown",!0,!0,window,"Left",0,!1,!1,!1,!1);this.dateElem_.dispatchEvent(e);
e=document.createEvent("KeyboardEvent");e.initKeyboardEvent("keyup",!0,!0,window,"Left",0,!1,!1,!1,!1);this.dateElem_.dispatchEvent(e)}this.dateElem_.addEventListener("keydown",this.keyListener_,!1);this.dateElem_.addEventListener("keyup",this.keyListener_,!1);this.dateElem_.addEventListener("blur",this.blurListener_,!1);this.update_(!0)};
cvox.ChromeVoxHTMLDateWidget.prototype.shutdown=function(){this.dateElem_.removeEventListener("blur",this.blurListener_,!1);this.dateElem_.removeEventListener("keydown",this.keyListener_,!1);this.dateElem_.removeEventListener("keyup",this.keyListener_,!1)};
cvox.ChromeVoxHTMLDateWidget.prototype.forceInitTime_=function(){var a=new Date,b="",b=a.getFullYear()+"",c=a.getMonth()+1+"";2>c.length&&(c="0"+c);var d=a.getDate()+"";switch(this.dateElem_.type){case "month":b=b+"-"+c;break;case "week":a.setHours(0,0,0);a.setDate(a.getDate()+4-(a.getDay()||7));c=new Date(a.getFullYear(),0,1);a=Math.ceil(((a-c)/864E5+1)/7)+"";2>a.length&&(a="0"+a);a="W"+a;b=b+"-"+a;break;default:b=b+"-"+c+"-"+d}this.dateElem_.setAttribute("value",b)};
cvox.ChromeVoxHTMLDateWidget.prototype.handlePosChange_=function(){this.pos_=Math.max(this.pos_,0);this.pos_=Math.min(this.pos_,this.maxPos_);switch(this.pos_){case 0:"week"==this.dateElem_.type?this.pWeek_=-1:this.pMonth_=-1;break;case 1:"date"==this.dateElem_.type?this.pDay_=-1:this.pYear_=-1;break;case 2:this.pYear_=-1}};
cvox.ChromeVoxHTMLDateWidget.prototype.update_=function(a){var b=this.dateElem_.value.split("-");if(1>b.length)this.forceInitTime_();else{var c=-1,d=-1,e=-1,f=-1,c=parseInt(b[0],10);"week"==this.dateElem_.type?e=parseInt(b[1].replace("W",""),10):"date"==this.dateElem_.type?(d=parseInt(b[1],10),f=parseInt(b[2],10)):d=parseInt(b[1],10);b="";a&&(b=cvox.DomUtil.getName(this.dateElem_,!0,!0)+"\n");e!=this.pWeek_&&(b=b+cvox.ChromeVox.msgs.getMsg("datewidget_week")+e+"\n",this.pWeek_=e);if(d!=this.pMonth_){a=
"";switch(d){case 1:a=cvox.ChromeVox.msgs.getMsg("datewidget_january");break;case 2:a=cvox.ChromeVox.msgs.getMsg("datewidget_february");break;case 3:a=cvox.ChromeVox.msgs.getMsg("datewidget_march");break;case 4:a=cvox.ChromeVox.msgs.getMsg("datewidget_april");break;case 5:a=cvox.ChromeVox.msgs.getMsg("datewidget_may");break;case 6:a=cvox.ChromeVox.msgs.getMsg("datewidget_june");break;case 7:a=cvox.ChromeVox.msgs.getMsg("datewidget_july");break;case 8:a=cvox.ChromeVox.msgs.getMsg("datewidget_august");
break;case 9:a=cvox.ChromeVox.msgs.getMsg("datewidget_september");break;case 10:a=cvox.ChromeVox.msgs.getMsg("datewidget_october");break;case 11:a=cvox.ChromeVox.msgs.getMsg("datewidget_november");break;case 12:a=cvox.ChromeVox.msgs.getMsg("datewidget_december")}b=b+a+"\n";this.pMonth_=d}f!=this.pDay_&&(b=b+f+"\n",this.pDay_=f);c!=this.pYear_&&(b=b+c+"\n",this.pYear_=c);0<b.length&&this.dateTts_.speak(b,0,null)}};
cvox.ChromeVoxHTMLDateWidget.prototype.eventHandler_=function(a){var b=!1;if("keydown"==a.type){if(9==a.keyCode&&!a.shiftKey||39==a.keyCode)this.pos_++,this.handlePosChange_(),b=!0;if(9==a.keyCode&&a.shiftKey||37==a.keyCode)this.pos_--,this.handlePosChange_(),b=!0}this.update_(b)};cvox.BrailleTextHandler=function(a){this.braille_=a};cvox.BrailleTextHandler.prototype.changed=function(a,b,c,d){var e;d?(e=cvox.NavBraille.fromText(a),e.startIndex=b,e.endIndex=c):cvox.ChromeVox.navigationManager&&(e=cvox.ChromeVox.navigationManager.getBraille());e&&this.braille_.write(e)};cvox.ContentEditableExtractor=function(){this.text_="";this.end_=this.start_=0;this.lines_={};this.characterToLineMap_=[]};
cvox.ContentEditableExtractor.prototype.update=function(a){for(var b={0:{startIndex:0,endIndex:0}},c=new cvox.Cursor(a,0,""),d=c.clone(),e=document.createRange(),f,g=0,h=null,k="",l=0,m=-1,p=-1,q=window.getSelection(),n=new cvox.Cursor(q.baseNode,q.baseOffset,""),q=new cvox.Cursor(q.extentNode,q.extentOffset,""),s=!1,u=!1;;){f=[];var t=[],r=cvox.TraverseUtil.forwardsChar(d,f,t),v=!1;r||(v=!0);for(f=0;f<t.length&&!v;f++)t[f]==a&&(v=!0);if(v)break;e.setStart(c.node,c.index);e.setEnd(d.node,d.index);
if((f=e.getBoundingClientRect())&&0!=f.width&&0!=f.height){null!==h&&f.bottom!=h&&0<l&&k.substr(-1).match(/\S/)&&r.match(/\S/)&&(k+="\n",l++);if(c.node!=d.node&&0<d.index&&(e.setStart(d.node,d.index-1),f=e.getBoundingClientRect(),!f||0==f.width||0==f.height))continue;!s&&-1==m&&d.node==n.node&&d.index>=n.index&&(d.index>n.index?m=l:s=!0);!u&&-1==p&&d.node==q.node&&d.index>=q.index&&(d.index>q.index?p=l:u=!0);null===h?h=f.bottom:f.bottom!=h&&(b[g].endIndex=l,g++,b[g]={startIndex:l,endIndex:l},h=f.bottom);
k+=r;l++;c=d.clone();s&&(m=l,s=!1);u&&(p=l,u=!1)}}b[g].endIndex=l;a=[];for(f=0;f<=g;f++)for(c=b[f].startIndex;c<=b[f].endIndex;c++)a[c]=f;this.text_=k;this.characterToLineMap_=a;this.lines_=b;this.start_=0<=m?m:k.length;this.end_=0<=p?p:k.length};cvox.ContentEditableExtractor.prototype.getText=function(){return this.text_};cvox.ContentEditableExtractor.prototype.getStartIndex=function(){return this.start_};cvox.ContentEditableExtractor.prototype.getEndIndex=function(){return this.end_};
cvox.ContentEditableExtractor.prototype.getLineIndex=function(a){return this.characterToLineMap_[a]};cvox.ContentEditableExtractor.prototype.getLineStart=function(a){return this.lines_[a].startIndex};cvox.ContentEditableExtractor.prototype.getLineEnd=function(a){return this.lines_[a].endIndex};cvox.EditableTextAreaShadow=function(){this.shadowElement_=document.createElement("div");this.lines_={};this.characterToLineMap_=[]};
cvox.EditableTextAreaShadow.prototype.update=function(a){for(document.body.appendChild(this.shadowElement_);this.shadowElement_.childNodes.length;)this.shadowElement_.removeChild(this.shadowElement_.childNodes[0]);this.shadowElement_.style.cssText=window.getComputedStyle(a,null).cssText;this.shadowElement_.style.position="absolute";this.shadowElement_.style.top=-9999;this.shadowElement_.style.left=-9999;this.shadowElement_.setAttribute("aria-hidden","true");var b=a.value,c=document.createTextNode(b+
".");this.shadowElement_.appendChild(c);a={0:{startIndex:0,endIndex:0}};for(var d=document.createRange(),e=0,f=0,g=0,h=null,k=!1,l;e<=b.length;){d.setStart(c,e);if(e+8>b.length||0<=b.substr(e,8).indexOf("\n"))k=!0;k?(e++,d.setEnd(c,e),l=d.getBoundingClientRect()):(d.setEnd(c,e+8),l=d.getBoundingClientRect(),l.bottom==h?e+=8:(l&&null!==h&&(k=!0),e++,d.setEnd(c,e),l=d.getBoundingClientRect()));0<e&&"\n"==b[e-1]?(a[g].endIndex=e-1,g++,a[g]={startIndex:e,endIndex:e},h=null,k=!1,f=e):l&&null===h?h=l.bottom:
l&&l.bottom!=h&&(a[g].endIndex=f,g++,a[g]={startIndex:f,endIndex:f},h=l?l.bottom:null,k=!1);l&&(f=e)}a[g].endIndex=b.length;b=[];for(c=0;c<=g;c++)for(d=a[c].startIndex;d<=a[c].endIndex;d++)b[d]=c;this.characterToLineMap_=b;this.lines_=a;document.body.removeChild(this.shadowElement_)};cvox.EditableTextAreaShadow.prototype.getLineIndex=function(a){return this.characterToLineMap_[a]};cvox.EditableTextAreaShadow.prototype.getLineStart=function(a){return this.lines_[a].startIndex};
cvox.EditableTextAreaShadow.prototype.getLineEnd=function(a){return this.lines_[a].endIndex};cvox.TextChangeEvent=function(a,b,c,d){this.value=a;this.start=b;this.end=c;this.triggeredByUser=d;this.start>this.end&&(a=this.end,this.end=this.start,this.start=a)};cvox.TypingEcho={CHARACTER:0,WORD:1,CHARACTER_AND_WORD:2,NONE:3,COUNT:4};cvox.TypingEcho.cycle=function(a){return(a+1)%cvox.TypingEcho.COUNT};cvox.TypingEcho.shouldSpeakChar=function(a){return a==cvox.TypingEcho.CHARACTER_AND_WORD||a==cvox.TypingEcho.CHARACTER};cvox.TextHandlerInterface=function(){};
cvox.TextHandlerInterface.prototype.changed=function(){};cvox.ChromeVoxEditableTextBase=function(a,b,c,d,e){this.value=a;this.start=b;this.end=c;this.isPassword=d;this.tts=e;this.multiline=!1;this.brailleHandler_=cvox.ChromeVox.braille?new cvox.BrailleTextHandler(cvox.ChromeVox.braille):void 0};cvox.ChromeVoxEditableTextBase.prototype.setup=function(){};cvox.ChromeVoxEditableTextBase.prototype.teardown=function(){};cvox.ChromeVoxEditableTextBase.useIBeamCursor=cvox.ChromeVox.isMac;
cvox.ChromeVoxEditableTextBase.eventTypingEcho=!1;cvox.ChromeVoxEditableTextBase.prototype.maxShortPhraseLen=60;cvox.ChromeVoxEditableTextBase.prototype.isPassword=!1;cvox.ChromeVoxEditableTextBase.prototype.lastChangeDescribed=!1;cvox.ChromeVoxEditableTextBase.prototype.getLineIndex=function(){return 0};cvox.ChromeVoxEditableTextBase.prototype.getLineStart=function(){return 0};cvox.ChromeVoxEditableTextBase.prototype.getLineEnd=function(){return this.value.length};
cvox.ChromeVoxEditableTextBase.prototype.getLine=function(a){var b=this.getLineStart(a);a=this.getLineEnd(a);return this.value.substr(b,a-b)};cvox.ChromeVoxEditableTextBase.prototype.isWordBreakChar=function(a){return!!a.match(/^\W$/)};cvox.ChromeVoxEditableTextBase.prototype.isLastChar=function(a){return void 0==this.getLineIndex(a.start+1)};
cvox.ChromeVoxEditableTextBase.prototype.speak=function(a,b,c){if(!this.node||document.activeElement==this.node){var d=cvox.AbstractTts.QUEUE_MODE_QUEUE;!0===b&&(d=cvox.AbstractTts.QUEUE_MODE_FLUSH);this.tts.speak(a,d,c||{})}};
cvox.ChromeVoxEditableTextBase.prototype.changed=function(a){if(a.value!=this.value||a.start!=this.start||a.end!=this.end||this.isLastChar(a)){if(a.value==this.value?this.describeSelectionChanged(a):this.describeTextChanged(a),this.lastChangeDescribed=!0,this.value=a.value,this.start=a.start,this.end=a.end,this.brailleHandler_){var b=this.getLine(this.getLineIndex(a.start)),c=this.getLineStart(this.getLineIndex(a.start)),d=a.start-c;a=a.end-c;this.brailleHandler_.changed(b,d,a,this.multiline)}}else this.lastChangeDescribed=
!1};
cvox.ChromeVoxEditableTextBase.prototype.describeSelectionChanged=function(a){if(this.isPassword)this.speak((new goog.i18n.MessageFormat(cvox.ChromeVox.msgs.getMsg("dot"))).format({COUNT:1}),a.triggeredByUser);else if(a.start==a.end)if(this.start!=this.end)this.speak(cvox.ChromeVox.msgs.getMsg("Unselected"),a.triggeredByUser);else if(this.getLineIndex(this.start)!=this.getLineIndex(a.start)){var b=this.getLine(this.getLineIndex(a.start));""==b?b=cvox.ChromeVox.msgs.getMsg("text_box_blank"):/^\s+$/.test(b)&&(b=
cvox.ChromeVox.msgs.getMsg("text_box_whitespace"));this.speak(b,a.triggeredByUser)}else this.start==a.start+1||this.start==a.start-1?cvox.ChromeVoxEditableTextBase.useIBeamCursor?this.speak(this.value.substr(Math.min(this.start,a.start),1),a.triggeredByUser,{phoneticCharacters:a.triggeredByUser}):a.start==this.value.length?cvox.ChromeVox.verbosity==cvox.VERBOSITY_VERBOSE?this.speak(cvox.ChromeVox.msgs.getMsg("end_of_text_verbose"),a.triggeredByUser):this.speak(cvox.ChromeVox.msgs.getMsg("end_of_text_brief"),
a.triggeredByUser):this.speak(this.value.substr(a.start,1),a.triggeredByUser,{phoneticCharacters:a.triggeredByUser}):this.speak(this.value.substr(Math.min(this.start,a.start),Math.abs(this.start-a.start)),a.triggeredByUser);else this.start+1==a.start&&this.end==this.value.length&&a.end==this.value.length?(this.speak(this.value.substr(this.start,1),a.triggeredByUser),this.speak(this.value.substr(a.start))):this.start==this.end?(this.speak(this.value.substr(a.start,a.end-a.start),a.triggeredByUser),
this.speak(cvox.ChromeVox.msgs.getMsg("selected"))):this.start==a.start&&this.end<a.end?(this.speak(this.value.substr(this.end,a.end-this.end),a.triggeredByUser),this.speak(cvox.ChromeVox.msgs.getMsg("added_to_selection"))):this.start==a.start&&this.end>a.end?(this.speak(this.value.substr(a.end,this.end-a.end),a.triggeredByUser),this.speak(cvox.ChromeVox.msgs.getMsg("removed_from_selection"))):this.end==a.end&&this.start>a.start?(this.speak(this.value.substr(a.start,this.start-a.start),a.triggeredByUser),
this.speak(cvox.ChromeVox.msgs.getMsg("added_to_selection"))):this.end==a.end&&this.start<a.start?(this.speak(this.value.substr(this.start,a.start-this.start),a.triggeredByUser),this.speak(cvox.ChromeVox.msgs.getMsg("removed_from_selection"))):(this.speak(this.value.substr(a.start,a.end-a.start),a.triggeredByUser),this.speak(cvox.ChromeVox.msgs.getMsg("selected")))};
cvox.ChromeVoxEditableTextBase.prototype.describeTextChanged=function(a){var b={};a.value.length<this.value.length&&(b=cvox.AbstractTts.PERSONALITY_DELETED);if(this.isPassword)this.speak((new goog.i18n.MessageFormat(cvox.ChromeVox.msgs.getMsg("dot"))).format({COUNT:1}),a.triggeredByUser,b);else{var c=this.value,d=c.length,e=a.value.length,f="",g=a.value,h=a.end;a.start<h&&h==e&&(f=g.substr(a.start),g=g.substr(0,a.start),h=a.start);var k=this.start,l=d-this.end;if(e>=k+l+(h-a.start)&&g.substr(0,k)==
c.substr(0,k)&&g.substr(e-l)==c.substr(this.end))this instanceof cvox.ChromeVoxEditableContentEditable&&!(e<d||this.isWordBreakChar(a.value[e-1]||""))||this.describeTextChangedHelper(a,k,l,f,b);else if(k=a.start,l=e-h,this.start==this.end&&a.start==h&&g.substr(0,k)==c.substr(0,k)&&g.substr(e-l)==c.substr(d-l))this.describeTextChangedHelper(a,k,l,f,b);else{g+=f;if(g.length==c.length+1||g.length+1==c.length){if(g.length>c.length){if(0==g.indexOf(c)){this.speak(g[g.length-1],a.triggeredByUser,b);return}if(1==
g.indexOf(c)){this.speak(g[0],a.triggeredByUser,b);return}}if(g.length<c.length){if(0==c.indexOf(g)){this.speak(c[c.length-1],a.triggeredByUser,b);return}if(1==c.indexOf(g)){this.speak(c[0],a.triggeredByUser,b);return}}}if(this.multiline)a.value.length<this.value.length&&this.speak(cvox.ChromeVox.msgs.getMsg("text_deleted"),a.triggeredByUser,b);else if(e<=this.maxShortPhraseLen)this.describeTextChangedHelper(a,0,0,"",b);else{for(k=0;k<d&&k<e&&c[k]==g[k];)k++;for(;0<k&&!this.isWordBreakChar(c[k-1]);)k--;
for(l=0;l<d-k&&l<e-k&&c[d-l-1]==g[e-l-1];)l++;for(;0<l&&!this.isWordBreakChar(c[d-l]);)l--;this.describeTextChangedHelper(a,k,l,"",b)}}}};
cvox.ChromeVoxEditableTextBase.prototype.describeTextChangedHelper=function(a,b,c,d,e){var f=this.value.length,g=a.value.length,f=f-b-c,h=this.value.substr(b,f),k=g-b-c;c=a.value.substr(b,k);var l="",g=a.triggeredByUser;if(1<k)l=c;else if(1==k)if((cvox.ChromeVox.typingEcho==cvox.TypingEcho.WORD||cvox.ChromeVox.typingEcho==cvox.TypingEcho.CHARACTER_AND_WORD)&&this.isWordBreakChar(c)&&0<b&&!this.isWordBreakChar(a.value.substr(b-1,1))){for(f=b;0<f&&!this.isWordBreakChar(a.value[f-1]);)f--;f<b?l=a.value.substr(f,
b+1-f):(l=c,g=!1)}else{if(cvox.ChromeVox.typingEcho==cvox.TypingEcho.CHARACTER||cvox.ChromeVox.typingEcho==cvox.TypingEcho.CHARACTER_AND_WORD)l=cvox.ChromeVoxEditableTextBase.eventTypingEcho?"":c}else 1<f&&!d?l=h+", deleted":1==f&&(l=h);d&&l?l+=", "+d:d&&(l=d);l&&this.speak(l,g,e)};cvox.ChromeVoxEditableElement=function(a,b,c,d,e,f){cvox.ChromeVoxEditableTextBase.call(this,b,c,d,e,f);this.node=a;this.justSpokeDescription_=!1};goog.inherits(cvox.ChromeVoxEditableElement,cvox.ChromeVoxEditableTextBase);
cvox.ChromeVoxEditableElement.prototype.changed=function(a){this.justSpokeDescription_&&this.value==a.value&&(this.value=a.value,this.start=a.start,this.end=a.end,this.justSpokeDescription_=!1);cvox.ChromeVoxEditableElement.superClass_.changed.call(this,a)};cvox.ChromeVoxEditableHTMLInput=function(a,b){this.node=a;this.setup();cvox.ChromeVoxEditableElement.call(this,a,a.value,a.selectionStart,a.selectionEnd,"password"===a.type,b)};goog.inherits(cvox.ChromeVoxEditableHTMLInput,cvox.ChromeVoxEditableElement);
cvox.ChromeVoxEditableHTMLInput.prototype.setup=function(){this.node&&!cvox.DomUtil.doesInputSupportSelection(this.node)&&(this.originalType=this.node.type,this.node.type="text")};cvox.ChromeVoxEditableHTMLInput.prototype.teardown=function(){this.node&&this.originalType&&(this.node.type=this.originalType)};cvox.ChromeVoxEditableHTMLInput.prototype.update=function(a){var b=this.node.value;a=new cvox.TextChangeEvent(b,this.node.selectionStart,this.node.selectionEnd,a);this.changed(a)};
cvox.ChromeVoxEditableTextArea=function(a,b){cvox.ChromeVoxEditableElement.call(this,a,a.value,a.selectionStart,a.selectionEnd,!1,b);this.multiline=!0;this.shadowIsCurrent_=!1};goog.inherits(cvox.ChromeVoxEditableTextArea,cvox.ChromeVoxEditableElement);cvox.ChromeVoxEditableTextArea.prototype.update=function(a){this.node.value!=this.value&&(this.shadowIsCurrent_=!1);a=new cvox.TextChangeEvent(this.node.value,this.node.selectionStart,this.node.selectionEnd,a);this.changed(a)};
cvox.ChromeVoxEditableTextArea.prototype.getLineIndex=function(a){return this.getShadow().getLineIndex(a)};cvox.ChromeVoxEditableTextArea.prototype.getLineStart=function(a){return this.getShadow().getLineStart(a)};cvox.ChromeVoxEditableTextArea.prototype.getLineEnd=function(a){return this.getShadow().getLineEnd(a)};
cvox.ChromeVoxEditableTextArea.prototype.getShadow=function(){var a=cvox.ChromeVoxEditableTextArea.shadow_;a||(a=cvox.ChromeVoxEditableTextArea.shadow_=new cvox.EditableTextAreaShadow);this.shadowIsCurrent_||(a.update(this.node),this.shadowIsCurrent_=!0);return a};
cvox.ChromeVoxEditableContentEditable=function(a,b){cvox.ChromeVoxEditableElement.call(this,a,"",0,0,!1,b);this.extractorIsCurrent_=!1;var c=this.getExtractor();this.value=c.getText();this.start=c.getStartIndex();this.end=c.getEndIndex();this.multiline=!0};goog.inherits(cvox.ChromeVoxEditableContentEditable,cvox.ChromeVoxEditableElement);
cvox.ChromeVoxEditableContentEditable.prototype.update=function(a){this.extractorIsCurrent_=!1;a=new cvox.TextChangeEvent(this.getExtractor().getText(),this.getExtractor().getStartIndex(),this.getExtractor().getEndIndex(),a);this.changed(a)};cvox.ChromeVoxEditableContentEditable.prototype.getLineIndex=function(a){return this.getExtractor().getLineIndex(a)};cvox.ChromeVoxEditableContentEditable.prototype.getLineStart=function(a){return this.getExtractor().getLineStart(a)};
cvox.ChromeVoxEditableContentEditable.prototype.getLineEnd=function(a){return this.getExtractor().getLineEnd(a)};cvox.ChromeVoxEditableContentEditable.prototype.getExtractor=function(){var a=cvox.ChromeVoxEditableContentEditable.extractor_;a||(a=cvox.ChromeVoxEditableContentEditable.extractor_=new cvox.ContentEditableExtractor);this.extractorIsCurrent_||(a.update(this.node),this.extractorIsCurrent_=!0);return a};
cvox.ChromeVoxEditableContentEditable.prototype.describeSelectionChanged=function(a){a.triggeredByUser&&(this.start==this.end&&a.start==a.end&&1!=Math.abs(this.start-a.start)&&this.isLastChar(a)?this.speak(cvox.ChromeVox.msgs.getMsg("text_box_blank"),!0):cvox.ChromeVoxEditableContentEditable.superClass_.describeSelectionChanged.call(this,a))};
cvox.ChromeVoxEditableContentEditable.prototype.isLastChar=function(){var a=window.getSelection(),b=new cvox.Cursor(a.baseNode,a.baseOffset,"");return a.baseNode==a.extentNode&&a.baseOffset==a.extentOffset&&a.baseNode.nodeType==Node.ELEMENT_NODE&&a.baseNode.querySelector("BR")&&cvox.TraverseUtil.forwardsChar(b,[],[])?!0:!1};cvox.ChromeVoxEventSuspender=function(){};cvox.ChromeVoxEventSuspender.suspendLevel_=0;cvox.ChromeVoxEventSuspender.enterSuspendEvents=function(){cvox.ChromeVoxEventSuspender.suspendLevel_+=1};cvox.ChromeVoxEventSuspender.exitSuspendEvents=function(){cvox.ChromeVoxEventSuspender.suspendLevel_-=1};cvox.ChromeVoxEventSuspender.areEventsSuspended=function(){return 0<cvox.ChromeVoxEventSuspender.suspendLevel_};
cvox.ChromeVoxEventSuspender.withSuspendedEvents=function(a){return function(){cvox.ChromeVoxEventSuspender.enterSuspendEvents();var b=a.apply(this,arguments);cvox.ChromeVoxEventSuspender.exitSuspendEvents();return b}};cvox.ChromeVoxEventSuspender.makeSuspendableHandler=function(a,b){return function(){return cvox.ChromeVoxEventSuspender.areEventsSuspended()?b:a()}};cvox.Focuser={};
cvox.Focuser.setFocus=function(a,b){var c=window.getSelection(),d;0<c.rangeCount&&(d=c.getRangeAt(0));document.activeElement&&!cvox.DomUtil.isDescendantOfNode(a,document.activeElement)&&document.activeElement.blur();a&&a.constructor==HTMLVideoElement&&(cvox.DomUtil.isFocusable(a)||a.setAttribute("tabIndex",0));if(b&&!cvox.DomUtil.isFocusable(a)){var e=cvox.DomUtil.findFocusableDescendant(a);e&&(a=e)}else for(;a&&!cvox.DomUtil.isFocusable(a);)a=a.parentNode;cvox.DomUtil.isFocusable(a)?"IFRAME"!=a.tagName&&
(cvox.ChromeVoxEventSuspender.areEventsSuspended()?(cvox.Focuser.shouldEnterSuspendEvents_(a)&&cvox.ChromeVoxEventSuspender.enterSuspendEvents(),window.setTimeout(function(){a.focus();cvox.ChromeVoxEventSuspender.exitSuspendEvents()},0)):window.setTimeout(function(){a.focus()},0)):document.activeElement&&"BODY"!=document.activeElement.tagName&&document.activeElement.blur();cvox.DomUtil.isInputTypeText(a)?a.select():d&&(c.removeAllRanges(),c.addRange(d))};
cvox.Focuser.shouldEnterSuspendEvents_=function(a){if(a.constructor&&a.constructor==HTMLVideoElement)return!1;if(a.hasAttribute)switch(a.getAttribute("type")){case "time":case "date":case "week":case "month":return!1}return!0};cvox.ChromeVoxHTMLMediaWidget=function(a){var b=this;this.mediaElem_=a;this.keyListener_=function(a){b.eventHandler_(a)};this.blurListener_=function(){b.shutdown()};this.mediaElem_.addEventListener("keydown",this.keyListener_,!1);this.mediaElem_.addEventListener("keyup",this.keyListener_,!1);this.mediaElem_.addEventListener("blur",this.blurListener_,!1)};
cvox.ChromeVoxHTMLMediaWidget.prototype.shutdown=function(){this.mediaElem_.removeEventListener("blur",this.blurListener_,!1);this.mediaElem_.removeEventListener("keydown",this.keyListener_,!1);this.mediaElem_.removeEventListener("keyup",this.keyListener_,!1)};cvox.ChromeVoxHTMLMediaWidget.prototype.jumpToTime_=function(a){0>a&&(a=0);a>this.mediaElem_.duration&&(a=this.mediaElem_.duration);this.mediaElem_.currentTime=a};
cvox.ChromeVoxHTMLMediaWidget.prototype.setVolume_=function(a){0>a&&(a=0);1<a&&(a=1);this.mediaElem_.volume=a};
cvox.ChromeVoxHTMLMediaWidget.prototype.eventHandler_=function(a){"keydown"==a.type&&(13==a.keyCode||32==a.keyCode?this.mediaElem_.paused?this.mediaElem_.play():this.mediaElem_.pause():39==a.keyCode?this.jumpToTime_(this.mediaElem_.currentTime+this.mediaElem_.duration/10):37==a.keyCode?this.jumpToTime_(this.mediaElem_.currentTime-this.mediaElem_.duration/10):38==a.keyCode?this.setVolume_(this.mediaElem_.volume+0.1):40==a.keyCode&&this.setVolume_(this.mediaElem_.volume-0.1))};cvox.ChromeVoxHTMLTimeWidget=function(a,b){var c=this;this.timeElem_=a;this.timeTts_=b;this.pMinutes_=this.pHours_=-1;this.pMilliseconds_=this.pSeconds_=0;this.pAmpm_="";this.pos_=0;this.maxPos_=2;this.keyListener_=function(a){c.eventHandler_(a)};this.blurListener_=function(){c.shutdown()};if(this.timeElem_.hasAttribute("step")){var d=this.timeElem_.getAttribute("step");0<d&&(this.maxPos_=1<=d?3:4)}0==this.timeElem_.value.length&&this.forceInitTime_();for(d=0;d<this.maxPos_;d++){var e=document.createEvent("KeyboardEvent");
e.initKeyboardEvent("keydown",!0,!0,window,"Left",0,!1,!1,!1,!1);this.timeElem_.dispatchEvent(e);e=document.createEvent("KeyboardEvent");e.initKeyboardEvent("keyup",!0,!0,window,"Left",0,!1,!1,!1,!1);this.timeElem_.dispatchEvent(e)}this.timeElem_.addEventListener("keydown",this.keyListener_,!1);this.timeElem_.addEventListener("keyup",this.keyListener_,!1);this.timeElem_.addEventListener("blur",this.blurListener_,!1);this.update_(!0)};
cvox.ChromeVoxHTMLTimeWidget.prototype.shutdown=function(){this.timeElem_.removeEventListener("blur",this.blurListener_,!1);this.timeElem_.removeEventListener("keydown",this.keyListener_,!1);this.timeElem_.removeEventListener("keyup",this.keyListener_,!1)};cvox.ChromeVoxHTMLTimeWidget.prototype.forceInitTime_=function(){this.timeElem_.setAttribute("value","12:00")};
cvox.ChromeVoxHTMLTimeWidget.prototype.handlePosChange_=function(){0>this.pos_&&(this.pos_=0);this.pos_>this.maxPos_&&(this.pos_=this.maxPos_);if(this.pos_==this.maxPos_)this.pAmpm_="";else switch(this.pos_){case 0:this.pHours_=-1;break;case 1:this.pMinutes_=-1;break;case 2:this.pSeconds_=-1;break;case 3:this.pMilliseconds_=-1}};
cvox.ChromeVoxHTMLTimeWidget.prototype.update_=function(a){var b=this.timeElem_.value.split(":");if(1>b.length)this.forceInitTime_();else{var c=b[0],d=-1,e=0,f=0,g=cvox.ChromeVox.msgs.getMsg("timewidget_am");1<b.length&&(d=b[1]);2<b.length&&(b=b[2].split("."),e=b[0],1<b.length&&(f=b[1]));12<c&&(c-=12,g=cvox.ChromeVox.msgs.getMsg("timewidget_pm"));12==c&&(g=cvox.ChromeVox.msgs.getMsg("timewidget_pm"));0==c&&(c=12,g=cvox.ChromeVox.msgs.getMsg("timewidget_am"));b="";a&&(b=cvox.DomUtil.getName(this.timeElem_,
!0,!0)+"\n");c!=this.pHours_&&(b=b+c+" "+cvox.ChromeVox.msgs.getMsg("timewidget_hours")+"\n",this.pHours_=c);d!=this.pMinutes_&&(b=b+d+" "+cvox.ChromeVox.msgs.getMsg("timewidget_minutes")+"\n",this.pMinutes_=d);e!=this.pSeconds_&&(b=b+e+" "+cvox.ChromeVox.msgs.getMsg("timewidget_seconds")+"\n",this.pSeconds_=e);f!=this.pMilliseconds_&&(b=b+f+" "+cvox.ChromeVox.msgs.getMsg("timewidget_milliseconds")+"\n",this.pMilliseconds_=f);g!=this.pAmpm_&&(b+=g,this.pAmpm_=g);0<b.length&&this.timeTts_.speak(b,
0,null)}};cvox.ChromeVoxHTMLTimeWidget.prototype.eventHandler_=function(a){var b=!1;if("keydown"==a.type){if(9==a.keyCode&&!a.shiftKey||39==a.keyCode)this.pos_++,this.handlePosChange_(),b=!0;if(9==a.keyCode&&a.shiftKey||37==a.keyCode)this.pos_--,this.handlePosChange_(),b=!0}this.update_(b)};cvox.ActiveIndicator=function(){this.lastMoveTime_=0;this.zoom_=1;this.updateIndicatorTimeoutId_=this.lastClientRects_=this.lastSyncTarget_=this.container_=null;this.blurred_=!1;window.addEventListener("focus",goog.bind(function(){this.blurred_=!1;this.container_&&this.container_.classList.remove("cvox_indicator_window_not_focused")},this),!1);window.addEventListener("blur",goog.bind(function(){this.blurred_=!0;this.container_&&this.container_.classList.add("cvox_indicator_window_not_focused")},this),
!1)};cvox.ActiveIndicator.STYLE=".cvox_indicator_container {  position: absolute !important;  left: 0 !important;  top: 0 !important;  z-index: 2147483647 !important;  pointer-events: none !important;}.cvox_indicator_window_not_focused {  visibility: hidden !important;}.cvox_indicator_pulsing {  -webkit-animation:       cvox_indicator_pulsing_animation 0s 2 alternate !important;  -webkit-animation-timing-function: ease-in-out !important;}.cvox_indicator_region {  opacity: 0 !important;  -webkit-transition: opacity 1s !important;}.cvox_indicator_visible {  opacity: 1 !important;}.cvox_indicator_container .cvox_indicator_region * {  position:absolute !important;  box-shadow: 0 0 4px 4px #f7983a !important;  border-radius: 6px !important;  -webkit-transition: none !important;}.cvox_indicator_animate_normal .cvox_indicator_region * {  -webkit-transition: all 0.3s !important;}.cvox_indicator_animate_quick .cvox_indicator_region * {  -webkit-transition: all 0.1s !important;}.cvox_indicator_top {  border-radius: inherit inherit 0 0 !important;}.cvox_indicator_middle_nw {  border-radius: inherit 0 0 0 !important;}.cvox_indicator_middle_ne {  border-radius: 0 inherit 0 0 !important;}.cvox_indicator_middle_se {  border-radius: 0 0 inherit 0 !important;}.cvox_indicator_middle_sw {  border-radius: 0 0 0 inherit !important;}.cvox_indicator_bottom {  border-radius: 0 0 inherit inherit !important;}@-webkit-keyframes cvox_indicator_pulsing_animation {   0% {opacity: 1.0}  50% {opacity: 0.5} 100% {opacity: 1.0}}";
cvox.ActiveIndicator.QUICK_ANIM_DELAY_MS=100;cvox.ActiveIndicator.NORMAL_ANIM_DELAY_MS=300;cvox.ActiveIndicator.MARGIN=8;cvox.ActiveIndicator.prototype.removeFromDom=function(){this.container_&&this.container_.parentElement&&this.container_.parentElement.removeChild(this.container_)};cvox.ActiveIndicator.prototype.syncToNode=function(a){a&&(a==document.body?this.removeFromDom():this.syncToNodes([a]))};
cvox.ActiveIndicator.prototype.syncToNodes=function(a){var b=this.clientRectsFromNodes_(a);this.moveIndicator_(b,cvox.ActiveIndicator.MARGIN);this.lastSyncTarget_=a;this.lastClientRects_=b;null!=this.updateIndicatorTimeoutId_&&(window.clearTimeout(this.updateIndicatorTimeoutId_),this.updateIndicatorTimeoutId_=null)};
cvox.ActiveIndicator.prototype.syncToRange=function(a){var b=cvox.ActiveIndicator.MARGIN;a.startContainer==a.endContainer&&a.startOffset+1==a.endOffset&&(b=1);var c=a.getClientRects();this.moveIndicator_(c,b);this.lastSyncTarget_=a;this.lastClientRects_=c;null!=this.updateIndicatorTimeoutId_&&(window.clearTimeout(this.updateIndicatorTimeoutId_),this.updateIndicatorTimeoutId_=null)};
cvox.ActiveIndicator.prototype.syncToCursorSelection=function(a){if(a.start.node==a.end.node&&a.start.index==a.end.index)this.syncToNode(a.start.node);else{var b=document.createRange();b.setStart(a.start.node,a.start.index);b.setEnd(a.end.node,a.end.index);this.syncToRange(b)}};cvox.ActiveIndicator.prototype.updateIndicatorIfChanged=function(){this.updateIndicatorTimeoutId_||(this.updateIndicatorTimeoutId_=window.setTimeout(goog.bind(function(){this.handleUpdateIndicatorIfChanged_()},this),100))};
cvox.ActiveIndicator.prototype.handleUpdateIndicatorIfChanged_=function(){this.updateIndicatorTimeoutId_=null;if(this.lastSyncTarget_){var a;if((a=this.lastSyncTarget_ instanceof Array?this.clientRectsFromNodes_(this.lastSyncTarget_):this.lastSyncTarget_.getClientRects())&&0!=a.length){var b=!1;if(a.length!=this.lastClientRects_.length)b=!0;else for(var c=0;c<this.lastClientRects_.length;++c){var d=this.lastClientRects_[c],e=a[c];if(d.top!=e.top||d.right!=e.right||d.bottom!=e.bottom||d.left!=d.left){b=
!0;break}}b&&(this.moveIndicator_(a,cvox.ActiveIndicator.MARGIN),this.lastClientRects_=a)}else this.syncToNode(document.body)}};cvox.ActiveIndicator.prototype.clientRectsFromNodes_=function(a){for(var b=[],c=0;c<a.length;++c){var d=a[c];if(d.constructor==Text){var e=document.createRange();e.selectNode(d);e=e.getClientRects()}else{for(;!d.getClientRects;)d=d.parentElement;e=d.getClientRects()}for(d=0;d<e.length;++d)b.push(e[d])}return b};
cvox.ActiveIndicator.prototype.moveIndicator_=function(a,b){if(document.body.isContentEditable)this.removeFromDom();else{var c=a.length;if(0!=c){var d,e;"static"!=window.getComputedStyle(document.body,null).position?(d=-document.body.getBoundingClientRect().left,e=-document.body.getBoundingClientRect().top):"static"!=window.getComputedStyle(document.documentElement,null).position?(d=-document.documentElement.getBoundingClientRect().left,e=-document.documentElement.getBoundingClientRect().top):(d=
window.pageXOffset,e=window.pageYOffset);for(var f=[],g=0;g<c;g++)f.push(this.inset_(a[g],d,e,-d,-e));if(!this.container_||!this.container_.parentElement){g=document.getElementsByClassName("cvox_indicator_container");for(c=0;d=g[c];c++)d.parentNode&&d.parentNode.removeChild(d);this.container_=this.createDiv_(document.body,"cvox_indicator_container",document.body.firstChild)}g=document.createElement("style");g.id="cvox_indicator_style";g.innerHTML=cvox.ActiveIndicator.STYLE;cvox.DomUtil.addNodeToHead(g,
g.id);g=(new Date).getTime();c=g-this.lastMoveTime_;this.container_.className="cvox_indicator_container";document.hasFocus()&&!this.blurred_||this.container_.classList.add("cvox_indicator_window_not_focused");c>cvox.ActiveIndicator.NORMAL_ANIM_DELAY_MS?this.container_.classList.add("cvox_indicator_animate_normal"):c>cvox.ActiveIndicator.QUICK_ANIM_DELAY_MS&&this.container_.classList.add("cvox_indicator_animate_quick");this.lastMoveTime_=g;this.computeZoomLevel_();for(window.setTimeout(goog.bind(function(){this.container_.classList.add("cvox_indicator_pulsing")},
this),0);1<this.container_.childElementCount;)this.container_.removeChild(this.container_.lastElementChild);d=[[f[0]]];e=[f[0]];for(g=1;g<f.length;g++){for(var h=!1,c=0;c<d.length&&!h;c++)this.intersects_(f[g],e[c])&&(d[c].push(f[g]),e[c]=this.union_(e[c],f[g]),h=!0);h||(d.push([f[g]]),e.push(f[g]))}do for(f=!1,g=0;g<d.length-1&&!f;g++)for(c=g+1;c<d.length&&!f;c++)this.intersects_(e[g],e[c])&&(d[g]=d[g].concat(d[c]),e[g]=this.union_(e[g],e[c]),d.splice(c,1),e.splice(c,1),f=!0);while(f);for(g=0;g<
d.length;g++)d[g].sort(function(a,b){return a.top!=b.top?a.top-b.top:a.left-b.left});for(g=0;g<d.length;g++)f=null,0==g&&1==this.container_.childElementCount&&6==this.container_.children[0].childElementCount&&(f=this.container_.children[0]),this.updateIndicatorRegion_(d[g],f,b)}}};
cvox.ActiveIndicator.prototype.updateIndicatorRegion_=function(a,b,c){if(b)var d=b.children[0],e=b.children[1],f=b.children[2],g=b.children[3],h=b.children[4],k=b.children[5];else b=this.createDiv_(this.container_,"cvox_indicator_region"),window.setTimeout(function(){b.classList.add("cvox_indicator_visible")},0),d=this.createDiv_(b,"cvox_indicator_top"),e=this.createDiv_(b,"cvox_indicator_middle_nw"),f=this.createDiv_(b,"cvox_indicator_middle_ne"),g=this.createDiv_(b,"cvox_indicator_middle_sw"),h=
this.createDiv_(b,"cvox_indicator_middle_se"),k=this.createDiv_(b,"cvox_indicator_bottom");for(var l=a[0],m=Math.floor((l.top+l.bottom)/2),p=1,q=a.length;p<q&&a[p].top<m;)l=this.union_(l,a[p]),m=Math.floor((l.top+l.bottom)/2),p++;if(p==q)l=this.inset_(l,-c,-c,-c,-c),a=Math.floor((3*l.top+1*l.bottom)/4),c=Math.floor((2*l.top+2*l.bottom)/4),m=Math.floor((1*l.top+3*l.bottom)/4),this.setElementCoords_(d,l.left,l.top,l.right,a,!0,!0,!0,!1),this.setElementCoords_(e,l.left,a,l.left,c,!0,!0,!1,!1),this.setElementCoords_(g,
l.left,c,l.left,m,!0,!1,!1,!0),this.setElementCoords_(f,l.right,a,l.right,c,!1,!0,!0,!1),this.setElementCoords_(h,l.right,c,l.right,m,!1,!1,!0,!0),this.setElementCoords_(k,l.left,m,l.right,l.bottom,!0,!1,!0,!0);else{for(var m=a[q-1],n=Math.floor((m.top+m.bottom)/2),q=q-2;0<=q&&a[q].bottom>n;)m=this.union_(m,a[q]),n=Math.floor((m.top+m.bottom)/2),q--;l=this.inset_(l,-c,-c,-c,c);m=this.inset_(m,-c,c,-c,-c);if(p>q)n=this.union_(l,m),n.top=l.bottom,n.bottom=m.top,n.height=Math.floor((n.top+n.bottom)/
2);else{n=a[p];for(p+=1;p<=q;)n=this.union_(n,a[p]),p++;n=this.inset_(n,-c,-c,-c,-c);n.left=Math.min(n.left,l.left,m.left);n.right=Math.max(n.right,l.right,m.right);n.width=n.right-n.left}l.right>n.right-40&&(l.right=n.right,l.width=l.right-l.left);l.left<n.left+40&&(l.left=n.left,l.width=l.right-l.left);m.right>n.right-40&&(m.right=n.right,m.width=m.right-m.left);m.left<n.left+40&&(m.left=n.left,m.width=m.right-m.left);a=Math.floor((n.top+n.bottom)/2);this.setElementRect_(d,l,!0,!0,!0,!1);this.setElementRect_(k,
m,!0,!1,!0,!0);this.setElementCoords_(e,n.left,l.bottom,l.left,a,!0,!0,!1,!1);this.setElementCoords_(f,l.right,l.bottom,n.right,a,!1,!0,!0,!1);this.setElementCoords_(g,n.left,a,m.left,m.top,!0,!1,!1,!0);this.setElementCoords_(h,m.right,a,n.right,m.top,!1,!1,!0,!0)}};cvox.ActiveIndicator.prototype.intersects_=function(a,b){var c=2*cvox.ActiveIndicator.MARGIN;return b.left<=a.right+c&&b.right>=a.left-c&&b.top<=a.bottom+c&&b.bottom>=a.top-c};
cvox.ActiveIndicator.prototype.union_=function(a,b){var c={left:Math.min(a.left,b.left),top:Math.min(a.top,b.top),right:Math.max(a.right,b.right),bottom:Math.max(a.bottom,b.bottom)};c.width=c.right-c.left;c.height=c.bottom-c.top;return c};cvox.ActiveIndicator.prototype.inset_=function(a,b,c,d,e){a={left:a.left+b,top:a.top+c,right:a.right-d,bottom:a.bottom-e};a.width=a.right-a.left;a.height=a.bottom-a.top;return a};
cvox.ActiveIndicator.prototype.createDiv_=function(a,b,c){var d=document.createElement("div");d.className=b;c?a.insertBefore(d,c):a.appendChild(d);return d};cvox.ActiveIndicator.prototype.fixZoom_=function(a){return(Math.round(a*this.zoom_)+0.1)/this.zoom_};cvox.ActiveIndicator.prototype.fixZoomSum_=function(a,b){var c=Math.round(a*this.zoom_),d=Math.round((a+b)*this.zoom_),c=d-c;return(c+0.1)/this.zoom_};
cvox.ActiveIndicator.prototype.setElementCoords_=function(a,b,c,d,e,f,g,h,k){var l=d-b,m=e-c;d-=b;e-=c;var p=f?-20:0,q=g?-20:0,n=h?20:0,s=k?20:0;0==d&&(h?(b-=5,d+=5):f&&(d+=10),s=q=10,c-=10,e+=20);k||(e+=5);g||(c-=5,e+=5,q+=5,s+=5);n=0==n&&0==l?1:this.fixZoomSum_(b,n+l);s=this.fixZoomSum_(c,s+m);a.style.left=this.fixZoom_(b)+"px";a.style.top=this.fixZoom_(c)+"px";a.style.width=this.fixZoomSum_(b,d)+"px";a.style.height=this.fixZoomSum_(c,e)+"px";a.style.clip="rect("+[q,n,s,p].join("px ")+"px)"};
cvox.ActiveIndicator.prototype.setElementRect_=function(a,b,c,d,e,f){this.setElementCoords_(a,b.left,b.top,b.right,b.bottom,c,d,e,f)};
cvox.ActiveIndicator.prototype.computeZoomLevel_=function(){if(window.innerHeight!==this.innerHeight_||window.innerWidth!==this.innerWidth_){this.innerHeight_=window.innerHeight;this.innerWidth_=window.innerWidth;var a=document.createElement("div");a.innerHTML="X";a.setAttribute("style","font: 5000px/1em sans-serif !important; -webkit-text-size-adjust:none !important; visibility:hidden !important; left: -10000px !important; top: -10000px !important; position:absolute !important;");document.body.appendChild(a);
var b=5E3/a.clientHeight,b=Math.round(500*b)/500;0.1<b&&10>b&&(this.zoom_=b);a.parentNode.removeChild(a)}};cvox.NodeBreadcrumb=function(){this.cvTagCounter_=0};goog.addSingletonGetter(cvox.NodeBreadcrumb);cvox.NodeBreadcrumb.TOUCHED_TAG="chromevoxtag";cvox.NodeBreadcrumb.NEEDED_TAG_="chromevoxneeded";
cvox.NodeBreadcrumb.prototype.tagCurrentNode=function(){for(var a,b=cvox.ChromeVox.navigationManager.getCurrentNode();b&&!b.hasAttribute;)b=b.parentNode;b?b.hasAttribute(cvox.NodeBreadcrumb.TOUCHED_TAG)?a=b.getAttribute(cvox.NodeBreadcrumb.TOUCHED_TAG):(a=this.cvTagCounter_,b.setAttribute(cvox.NodeBreadcrumb.TOUCHED_TAG,a),this.cvTagCounter_++):a=-1;return a};
cvox.NodeBreadcrumb.prototype.smartStart_=function(a){for(var b=0;b<a.children.length;++b){var c=a.children[b];this.smartStart_(c);c.getAttribute&&!goog.isNull(c.getAttribute(cvox.NodeBreadcrumb.TOUCHED_TAG))&&this.setNeeded_(c)}};cvox.NodeBreadcrumb.prototype.setNeeded_=function(a){a&&a.getAttribute&&goog.isNull(a.getAttribute(cvox.NodeBreadcrumb.NEEDED_TAG_))&&(a.setAttribute(cvox.NodeBreadcrumb.NEEDED_TAG_,!0),"body"!==a.nodeName&&this.setNeeded_(a.parentElement))};
cvox.NodeBreadcrumb.prototype.smartClone_=function(a){var b={};b[cvox.NodeBreadcrumb.TOUCHED_TAG]=!0;b[cvox.NodeBreadcrumb.NEEDED_TAG_]=!0;if(a.getAttribute&&a.getAttribute(cvox.NodeBreadcrumb.TOUCHED_TAG))return cvox.DomUtil.deepClone(a,b);for(var b=cvox.DomUtil.shallowChildlessClone(a,b),c=0;c<a.childNodes.length;++c){var d=a.childNodes[c];d.getAttribute&&!goog.isNull(d.getAttribute(cvox.NodeBreadcrumb.NEEDED_TAG_))&&b.appendChild(this.smartClone_(d))}return b};
cvox.NodeBreadcrumb.prototype.dumpWalkedDom=function(){this.smartStart_(document.body);return this.smartClone_(document.body)};cvox.NodeBreadcrumb.getCurrentNodeTag=function(){for(var a=cvox.ChromeVox.navigationManager.getCurrentNode();a&&!a.hasAttribute;)a=a.parentNode;return a&&a.hasAttribute(cvox.NodeBreadcrumb.TOUCHED_TAG)?a.getAttribute(cvox.NodeBreadcrumb.TOUCHED_TAG):-1};cvox.HistoryEvent=function(a){this.spoken_=[];a?this.userCommand_=a.cmd:this.startTime_=(new Date).getTime()};cvox.HistoryEvent.prototype.withUserCommand=function(a){if(this.userCommand_)return window.console.error("Two user commands on "+a,this),this;this.userCommand_=a;return this};cvox.HistoryEvent.prototype.speak=function(a){this.spoken_.push(a);return this};
cvox.HistoryEvent.prototype.done=function(){this.endTime_=(new Date).getTime();cvox.NodeBreadcrumb.getInstance().tagCurrentNode();window.console.log("User command done.",this);return this};cvox.HistoryEvent.prototype.outputObject=function(){return{start:this.startTime_,end:this.endTime_,cmd:this.userCommand_,spoken:this.spoken_}};
cvox.HistoryEvent.prototype.outputHTML=function(){var a=document.createElement("div");a.className="cvoxHistoryEvent";var b=this.endTime_-this.startTime_;a.innerHTML=this.userCommand_+" ("+b+"ms)";for(b=0;b<this.spoken_.length;b++){var c=document.createElement("div");c.className="cvoxHistoryEventSpoken";c.innerHTML=this.spoken_[b].substr(0,20);20<this.spoken_[b].length&&(c.innerHTML+="...");a.appendChild(c)}return a};
cvox.HistoryEvent.prototype.outputJs=function(){var a="this.waitForCalm(this.userCommand, '"+this.userCommand_+"')";return a=0<this.spoken_.length?a+("\n  .waitForCalm(this.assertSpoken, '"+cvox.DomUtil.collapseWhitespace(this.spoken_.join(" "))+"');\n"):a+";\n"};cvox.History=function(){this.recording_=!1;this.events_=[];this.styleDiv_=this.listDiv_=this.mainDiv_=this.currentEvent_=null;this.nodeBreadcrumb_=cvox.NodeBreadcrumb.getInstance()};goog.addSingletonGetter(cvox.History);
cvox.History.prototype.addListDiv_=function(){this.mainDiv_=document.createElement("div");this.mainDiv_.style.position="fixed";this.mainDiv_.style.bottom="0";this.mainDiv_.style.right="0";this.mainDiv_.style.zIndex="999";this.listDiv_=document.createElement("div");this.listDiv_.id="cvoxEventList";this.mainDiv_.appendChild(this.listDiv_);var a=document.createElement("div"),b=document.createElement("button");b.onclick=cvox.History.sendToFeedback;b.innerHTML="Create bug";a.appendChild(b);this.mainDiv_.appendChild(a);
a=document.createElement("div");b=document.createElement("button");b.onclick=cvox.History.dumpJs;b.innerHTML="Dump test case";a.appendChild(b);this.mainDiv_.appendChild(a);document.body.appendChild(this.mainDiv_);this.styleDiv_=document.createElement("style");this.styleDiv_.innerHTML=".cvoxHistoryEventSpoken { color: gray; font-size: 75% }";document.body.appendChild(this.styleDiv_)};
cvox.History.prototype.removeListDiv_=function(){document.body.removeChild(this.mainDiv_);document.body.removeChild(this.styleDiv_);this.styleDiv_=this.listDiv_=this.mainDiv_=null};
cvox.History.prototype.addBigTextBox_=function(){function a(a,b){var c=document.createElement("button");c.onclick=b;c.innerHTML=a;d.appendChild(c)}var b=document.createElement("div");b.style.position="fixed";b.style.top="0";b.style.left="0";b.style.zIndex="999";var c=document.createElement("textarea");c.style.width="500px";c.style.height="500px";c.innerHTML=this.dumpJsOutput_();b.appendChild(c);var d=document.createElement("div");b.appendChild(d);a("Close dialog",function(){document.body.removeChild(b)});
a("Remove fluff",goog.bind(function(){c.innerHTML=this.dumpJsOutput_(["stopSpeech","toggleKeyPrefix"])},this));document.body.appendChild(b)};cvox.History.prototype.startRecording=function(){this.recording_=!0;this.addListDiv_()};cvox.History.prototype.stopRecording=function(){this.recording_=!1;this.removeListDiv_();this.events_=[];this.currentEvent_=null};
cvox.History.prototype.enterUserCommand=function(a){this.recording_&&(this.currentEvent_&&window.console.error("User command "+a+" overlaps current event",this.currentEvent_),this.currentEvent_=(new cvox.HistoryEvent).withUserCommand(a),this.events_.push(this.currentEvent_))};cvox.History.prototype.exitUserCommand=function(){this.recording_&&this.currentEvent_&&(this.currentEvent_.done(),this.listDiv_.appendChild(this.currentEvent_.outputHTML()),this.currentEvent_=null)};
cvox.History.prototype.speak=function(a){if(!this.recording_)return this;if(!this.currentEvent_)return window.console.error("Speak called outside of a user command."),this;this.currentEvent_.speak(a);return this};cvox.History.prototype.isSpeaking=function(){return!1};cvox.History.prototype.stop=function(){};cvox.History.prototype.increaseOrDecreaseProperty=function(){};cvox.History.prototype.getDefaultProperty=function(){};
cvox.History.dumpJs=function(){var a=cvox.History.getInstance();a.addBigTextBox_();window.console.log(a.dumpJsOutput_())};cvox.History.prototype.dumpJsOutput_=function(a){var b={};a&&a.forEach(function(a){b[a]=1});return["/*DOC: += ",this.nodeBreadcrumb_.dumpWalkedDom().innerHTML,"*/\n"].concat(this.events_.filter(function(a){return!(a.userCommand_ in b)}).map(function(a){return a.outputJs()})).join("")};
cvox.History.sendToFeedback=function(){var a=cvox.History.getInstance(),a=a.events_.map(function(a){return a.outputObject()}),b=document.createElement("script");b.type="text/javascript";b.src="https://www.gstatic.com/feedback/api.js";var c=document.createElement("script");c.type="text/javascript";c.innerHTML="userfeedback.api.startFeedback({ productId: '76092' }, { cvoxHistory: "+cvox.ChromeVoxJSON.stringify(cvox.ChromeVoxJSON.stringify(a))+" });";b.onload=function(){document.body.appendChild(c)};
document.body.appendChild(b)};cvox.SpokenMessage=function(){this.raw=this.id=this.count=null};cvox.SpokenMessages={};cvox.SpokenMessages.messages=[];cvox.SpokenMessages.speakFlush=function(){cvox.SpokenMessages.speak(cvox.AbstractTts.QUEUE_MODE_FLUSH)};cvox.SpokenMessages.speakQueued=function(){cvox.SpokenMessages.speak(cvox.AbstractTts.QUEUE_MODE_QUEUE)};
cvox.SpokenMessages.speak=function(a){for(var b=0;b<cvox.SpokenMessages.messages.length;++b){var c=cvox.SpokenMessages.messages[b];if(!c||!c.id&&!c.raw)throw"Invalid message received.";var d="";if(null!=c.count)if(0>=c.count)try{d+=cvox.ChromeVox.msgs.getMsg(c.id[0]+"_optional_default")}catch(e){continue}else d=1==c.count?d+cvox.ChromeVox.msgs.getMsg(c.id[0]+"_singular"):d+cvox.ChromeVox.msgs.getMsg(c.id[0]+"_plural",[c.count]);else d=c.raw?d+c.raw:d+cvox.ChromeVox.msgs.getMsg.apply(cvox.ChromeVox.msgs,
c.id);cvox.ChromeVox.tts.speak(d,a,cvox.AbstractTts.PERSONALITY_ANNOUNCEMENT);a=cvox.AbstractTts.QUEUE_MODE_QUEUE}cvox.SpokenMessages.messages=[]};cvox.SpokenMessages.currentMessage=function(){if(0==cvox.SpokenMessages.messages.length)throw"Invalid usage of SpokenMessages; start the chain using $m()";return cvox.SpokenMessages.messages[cvox.SpokenMessages.messages.length-1]};cvox.SpokenMessages.withCount=function(a){cvox.SpokenMessages.currentMessage().count=a;return cvox.SpokenMessages};
cvox.SpokenMessages.andIndexTotal=function(a,b){var c=new cvox.SpokenMessage;c.raw=cvox.ChromeVox.msgs.getMsg("index_total",[a,b]);cvox.SpokenMessages.messages.push(c);return cvox.SpokenMessages};cvox.SpokenMessages.andEnd=function(){return cvox.SpokenMessages.andMessage("end")};cvox.SpokenMessages.andMessage=function(a){var b=new cvox.SpokenMessage;b.id="string"==typeof a?[a]:a;cvox.SpokenMessages.messages.push(b);return cvox.SpokenMessages};
cvox.SpokenMessages.andRawMessage=function(a){var b=new cvox.SpokenMessage;b.raw=a;cvox.SpokenMessages.messages.push(b);return cvox.SpokenMessages};cvox.SpokenMessages.andPause=function(){return cvox.SpokenMessages.andMessage("pause")};cvox.$m=cvox.SpokenMessages.andMessage;cvox.Widget=function(){this.active=!1;this.initialNode=null;cvox.Widget.ref_&&cvox.Widget.ref_.isActive()||(cvox.Widget.ref_=this)};cvox.Widget.prototype.isActive=function(){return this.active};
cvox.Widget.prototype.show=function(){this.isActive()&&this.hide(!0);this.onKeyDown=goog.bind(this.onKeyDown,this);this.onKeyPress=goog.bind(this.onKeyPress,this);window.addEventListener("keydown",this.onKeyDown,!0);window.addEventListener("keypress",this.onKeyPress,!0);this.initialNode=cvox.ChromeVox.navigationManager.getCurrentNode();this.isStickyOn=cvox.ChromeVox.isStickyOn;cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",action:"setPref",pref:"sticky",value:!1,announce:!1});this.getNameMsg()&&
this.getHelpMsg()&&cvox.$m(this.getNameMsg()).andPause().andMessage(this.getHelpMsg()).speakFlush();cvox.ChromeVox.earcons.playEarcon(cvox.AbstractEarcons.OBJECT_OPEN);this.active=!0};
cvox.Widget.prototype.hide=function(a){window.removeEventListener("keypress",this.onKeyPress,!0);window.removeEventListener("keydown",this.onKeyDown,!0);cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",action:"setPref",pref:"sticky",value:this.isStickyOn,announce:!1});cvox.ChromeVox.earcons.playEarcon(cvox.AbstractEarcons.OBJECT_CLOSE);a||(this.initialNode=1==this.initialNode.nodeType?this.initialNode:this.initialNode.parentNode,cvox.ApiImplementation.syncToNode(this.initialNode,!0,cvox.AbstractTts.QUEUE_MODE_QUEUE));
this.active=!1};cvox.Widget.prototype.toggle=function(){this.isActive()?this.hide():this.show()};cvox.Widget.prototype.onKeyDown=function(a){if(27==a.keyCode)return this.hide(),a.preventDefault(),!0;if(9==a.keyCode)return this.hide(),!0;17==a.keyCode&&cvox.ChromeVox.tts.stop();a.stopPropagation();return!0};cvox.Widget.prototype.onKeyPress=function(){return!1};cvox.Widget.isActive=function(){return cvox.Widget.ref_&&cvox.Widget.ref_.isActive()||!1};cvox.NavDescription=function(a){this.context=a.context?a.context:"";this.text=a.text?a.text:"";this.userValue=a.userValue?a.userValue:"";this.annotation=a.annotation?a.annotation:"";this.earcons=a.earcons?a.earcons:[];this.personality=a.personality};cvox.NavDescription.prototype.isEmpty=function(){return 0==this.context.length&&0==this.earcons.length&&0==this.text.length&&0==this.userValue.length&&0==this.annotation.length};
cvox.NavDescription.prototype.toString=function(){return'NavDescription(context="'+this.context+'"  text="'+this.text+'"  userValue="'+this.userValue+'"  annotation="'+this.annotation+'")'};cvox.NavDescription.prototype.pushEarcon=function(a){this.earcons.push(a)};
cvox.NavDescription.prototype.speak=function(a,b,c){function d(){var a={},b=cvox.AbstractTts.PERSONALITY_ANNOTATION,c;for(c in b)a[c]=b[c];return a}var e=[];this.context&&(e.push([this.context,a,d()]),a=1);e.push([this.text,a,this.personality?this.personality:{}]);a=1;this.userValue&&e.push([this.userValue,a,{}]);this.annotation&&e.push([this.annotation,a,d()]);a=e.length;for(var f=0;f<a;f++)0==f&&b&&(e[f][2].startCallback=b),f==a-1&&c&&(e[f][2].endCallback=c),cvox.ChromeVox.tts.speak.apply(cvox.ChromeVox.tts,
e[f])};cvox.NavDescription.prototype.equals=function(a){return this.context==a.context&&this.text==a.text&&this.userValue==a.userValue&&this.annotation==a.annotation};cvox.NavMathDescription=function(a){cvox.NavDescription.call(this,a);var b=this.personality?this.personality:{},c={};c.domain=a.domain?a.domain:"";c.style=a.style?a.style:"";b.math=c;this.personality=b};goog.inherits(cvox.NavMathDescription,cvox.NavDescription);cvox.SemanticUtil=function(){};cvox.SemanticUtil.objectsToKeys=function(a){a=Array.prototype.slice.call(arguments,0);var b=[];return b.concat.apply(b,a.map(Object.keys))};cvox.SemanticUtil.objectsToValues=function(a){a=Array.prototype.slice.call(arguments,0);var b=[],c=function(a){for(var c in a)b.push(a[c])};a.forEach(c);return b};
cvox.SemanticUtil.unicodeToNumber=function(a){if(!a||2<a.length)return null;if(2==a.length){var b=a.charCodeAt(0);a=a.charCodeAt(1);return 55296<=b&&56319>=b&&!isNaN(a)?1024*(b-55296)+(a-56320)+65536:null}return a.charCodeAt(0)};cvox.SemanticUtil.numberToUnicode=function(a){if(65536<=a){var b=(a-65536)/1024+55296;a=(a-65536)%1024+56320;return String.fromCharCode(b,a)}return String.fromCharCode(a)};cvox.SemanticUtil.tagName=function(a){return a.tagName.toUpperCase()};cvox.SemanticUtil.IGNORETAGS="MERROR MPHANTOM MSPACE MACTION MALIGNGROUP MALIGNMARK MACTION".split(" ");
cvox.SemanticUtil.EMPTYTAGS=["MATH","MROW","MPADDED","MSTYLE"];cvox.SemanticUtil.purgeNodes=function(a){for(var b=[],c=0,d;d=a[c];c++){var e=cvox.SemanticUtil.tagName(d);-1==cvox.SemanticUtil.IGNORETAGS.indexOf(e)&&(-1!=cvox.SemanticUtil.EMPTYTAGS.indexOf(e)&&0==d.childNodes.length||b.push(d))}return b};cvox.SemanticAttr=function(){this.generalPunctuations="!\"#%&'*,:;?@\\\u00a1\u00a7\u00b6\u00b7\u00bf\u2017\u2020\u2021\u2022\u2023\u2024\u2025\u2027\u2030\u2031\u2038\u203b\u203c\u203d\u203e\u2041\u2042\u2043\u2047\u2048\u2049\u204b\u204c\u204d\u204e\u204f\u2050\u2051\u2053\u2055\u2056\u2058\u2059\u205a\u205b\u205c\u205d\u205e\ufe10\ufe13\ufe14\ufe15\ufe16\ufe30\ufe45\ufe46\ufe49\ufe4a\ufe4b\ufe4c\ufe50\ufe54\ufe55\ufe56\ufe57\ufe5f\ufe60\ufe61\ufe68\ufe6a\ufe6b\uff01\uff02\uff03\uff05\uff06\uff07\uff0a\uff0c\uff0f\uff1a\uff1b\uff1f\uff20\uff3c".split("");
this.invisibleComma_=cvox.SemanticUtil.numberToUnicode(8291);this.generalPunctuations.push(this.invisibleComma_);this.ellipses="\u2026\u22ee\u22ef\u22f0\u22f1\ufe19".split("");this.fullStops=[".","\ufe52","\uff0e"];this.dashes="\u2012\u2013\u2014\u2015\u301c\ufe31\ufe32\ufe58".split("");this.primes="\u2032\u2033\u2034\u2035\u2036\u2037\u2057".split("");this.openClosePairs={"(":")","[":"]","{":"}","\u2045":"\u2046","\u2329":"\u232a","\u2768":"\u2769","\u276a":"\u276b","\u276c":"\u276d","\u276e":"\u276f",
"\u2770":"\u2771","\u2772":"\u2773","\u2774":"\u2775","\u27c5":"\u27c6","\u27e6":"\u27e7","\u27e8":"\u27e9","\u27ea":"\u27eb","\u27ec":"\u27ed","\u27ee":"\u27ef","\u2983":"\u2984","\u2985":"\u2986","\u2987":"\u2988","\u2989":"\u298a","\u298b":"\u298c","\u298d":"\u298e","\u298f":"\u2990","\u2991":"\u2992","\u2993":"\u2994","\u2995":"\u2996","\u2997":"\u2998","\u29d8":"\u29d9","\u29da":"\u29db","\u29fc":"\u29fd","\u2e22":"\u2e23","\u2e24":"\u2e25","\u2e26":"\u2e27","\u2e28":"\u2e29","\u3008":"\u3009",
"\u300a":"\u300b","\u300c":"\u300d","\u300e":"\u300f","\u3010":"\u3011","\u3014":"\u3015","\u3016":"\u3017","\u3018":"\u3019","\u301a":"\u301b","\u301d":"\u301e","\ufd3e":"\ufd3f","\ufe17":"\ufe18","\ufe59":"\ufe5a","\ufe5b":"\ufe5c","\ufe5d":"\ufe5e","\uff08":"\uff09","\uff3b":"\uff3d","\uff5b":"\uff5d","\uff5f":"\uff60","\uff62":"\uff63","\u2308":"\u2309","\u230a":"\u230b","\u230c":"\u230d","\u230e":"\u230f","\u231c":"\u231d","\u231e":"\u231f","\u239b":"\u239e","\u239c":"\u239f","\u239d":"\u23a0",
"\u23a1":"\u23a4","\u23a2":"\u23a5","\u23a3":"\u23a6","\u23a7":"\u23ab","\u23a8":"\u23ac","\u23a9":"\u23ad","\u23b0":"\u23b1","\u23b8":"\u23b9"};this.topBottomPairs={"\u23b4":"\u23b5","\u23dc":"\u23dd","\u23de":"\u23df","\u23e0":"\u23e1","\ufe35":"\ufe36","\ufe37":"\ufe38","\ufe39":"\ufe3a","\ufe3b":"\ufe3c","\ufe3d":"\ufe3e","\ufe3f":"\ufe40","\ufe41":"\ufe42","\ufe43":"\ufe44","\ufe47":"\ufe48"};this.leftFences=cvox.SemanticUtil.objectsToKeys(this.openClosePairs);this.rightFences=cvox.SemanticUtil.objectsToValues(this.openClosePairs);
this.rightFences.push("\u301f");this.topFences=cvox.SemanticUtil.objectsToKeys(this.topBottomPairs);this.bottomFences=cvox.SemanticUtil.objectsToValues(this.topBottomPairs);this.neutralFences="|\u00a6\u2016\u2758\u2980\u2af4\uffe4\uff5c".split("");this.capitalLatin="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");this.smallLatin="abcdefghijklmnopqrstuvwxyz\u0131\u0237".split("");this.capitalLatinFullWidth="\uff21\uff22\uff23\uff24\uff25\uff26\uff27\uff28\uff29\uff2a\uff2b\uff2c\uff2d\uff2e\uff2f\uff30\uff31\uff32\uff33\uff34\uff35\uff36\uff37\uff38\uff39\uff3a".split("");
this.smallLatinFullWidth="\uff41\uff42\uff43\uff44\uff45\uff46\uff47\uff48\uff49\uff4a\uff4b\uff4c\uff4d\uff4e\uff4f\uff50\uff51\uff52\uff53\uff54\uff55\uff56\uff57\uff58\uff59\uff5a".split("");this.capitalLatinBold="\ud835\udc00 \ud835\udc01 \ud835\udc02 \ud835\udc03 \ud835\udc04 \ud835\udc05 \ud835\udc06 \ud835\udc07 \ud835\udc08 \ud835\udc09 \ud835\udc0a \ud835\udc0b \ud835\udc0c \ud835\udc0d \ud835\udc0e \ud835\udc0f \ud835\udc10 \ud835\udc11 \ud835\udc12 \ud835\udc13 \ud835\udc14 \ud835\udc15 \ud835\udc16 \ud835\udc17 \ud835\udc18 \ud835\udc19".split(" ");
this.smallLatinBold="\ud835\udc1a \ud835\udc1b \ud835\udc1c \ud835\udc1d \ud835\udc1e \ud835\udc1f \ud835\udc20 \ud835\udc21 \ud835\udc22 \ud835\udc23 \ud835\udc24 \ud835\udc25 \ud835\udc26 \ud835\udc27 \ud835\udc28 \ud835\udc29 \ud835\udc2a \ud835\udc2b \ud835\udc2c \ud835\udc2d \ud835\udc2e \ud835\udc2f \ud835\udc30 \ud835\udc31 \ud835\udc32 \ud835\udc33".split(" ");this.capitalLatinItalic="\ud835\udc34 \ud835\udc35 \ud835\udc36 \ud835\udc37 \ud835\udc38 \ud835\udc39 \ud835\udc3a \ud835\udc3b \ud835\udc3c \ud835\udc3d \ud835\udc3e \ud835\udc3f \ud835\udc40 \ud835\udc41 \ud835\udc42 \ud835\udc43 \ud835\udc44 \ud835\udc45 \ud835\udc46 \ud835\udc47 \ud835\udc48 \ud835\udc49 \ud835\udc4a \ud835\udc4b \ud835\udc4c \ud835\udc4d".split(" ");
this.smallLatinItalic="\ud835\udc4e \ud835\udc4f \ud835\udc50 \ud835\udc51 \ud835\udc52 \ud835\udc53 \ud835\udc54 \u210e \ud835\udc56 \ud835\udc57 \ud835\udc58 \ud835\udc59 \ud835\udc5a \ud835\udc5b \ud835\udc5c \ud835\udc5d \ud835\udc5e \ud835\udc5f \ud835\udc60 \ud835\udc61 \ud835\udc62 \ud835\udc63 \ud835\udc64 \ud835\udc65 \ud835\udc66 \ud835\udc67 \ud835\udea4 \ud835\udea5".split(" ");this.capitalLatinScript="\ud835\udc9c \u212c \ud835\udc9e \ud835\udc9f \u2130 \u2131 \ud835\udca2 \u210b \u2110 \ud835\udca5 \ud835\udca6 \u2112 \u2133 \ud835\udca9 \ud835\udcaa \ud835\udcab \ud835\udcac \u211b \ud835\udcae \ud835\udcaf \ud835\udcb0 \ud835\udcb1 \ud835\udcb2 \ud835\udcb3 \ud835\udcb4 \ud835\udcb5 \u2118".split(" ");
this.smallLatinScript="\ud835\udcb6 \ud835\udcb7 \ud835\udcb8 \ud835\udcb9 \u212f \ud835\udcbb \u210a \ud835\udcbd \ud835\udcbe \ud835\udcbf \ud835\udcc0 \ud835\udcc1 \ud835\udcc2 \ud835\udcc3 \u2134 \ud835\udcc5 \ud835\udcc6 \ud835\udcc7 \ud835\udcc8 \ud835\udcc9 \ud835\udcca \ud835\udccb \ud835\udccc \ud835\udccd \ud835\udcce \ud835\udccf \u2113".split(" ");this.capitalLatinBoldScript="\ud835\udcd0 \ud835\udcd1 \ud835\udcd2 \ud835\udcd3 \ud835\udcd4 \ud835\udcd5 \ud835\udcd6 \ud835\udcd7 \ud835\udcd8 \ud835\udcd9 \ud835\udcda \ud835\udcdb \ud835\udcdc \ud835\udcdd \ud835\udcde \ud835\udcdf \ud835\udce0 \ud835\udce1 \ud835\udce2 \ud835\udce3 \ud835\udce4 \ud835\udce5 \ud835\udce6 \ud835\udce7 \ud835\udce8 \ud835\udce9".split(" ");
this.smallLatinBoldScript="\ud835\udcea \ud835\udceb \ud835\udcec \ud835\udced \ud835\udcee \ud835\udcef \ud835\udcf0 \ud835\udcf1 \ud835\udcf2 \ud835\udcf3 \ud835\udcf4 \ud835\udcf5 \ud835\udcf6 \ud835\udcf7 \ud835\udcf8 \ud835\udcf9 \ud835\udcfa \ud835\udcfb \ud835\udcfc \ud835\udcfd \ud835\udcfe \ud835\udcff \ud835\udd00 \ud835\udd01 \ud835\udd02 \ud835\udd03".split(" ");this.capitalLatinFraktur="\ud835\udd04 \ud835\udd05 \u212d \ud835\udd07 \ud835\udd08 \ud835\udd09 \ud835\udd0a \u210c \u2111 \ud835\udd0d \ud835\udd0e \ud835\udd0f \ud835\udd10 \ud835\udd11 \ud835\udd12 \ud835\udd13 \ud835\udd14 \u211c \ud835\udd16 \ud835\udd17 \ud835\udd18 \ud835\udd19 \ud835\udd1a \ud835\udd1b \ud835\udd1c \u2128".split(" ");
this.smallLatinFraktur="\ud835\udd1e \ud835\udd1f \ud835\udd20 \ud835\udd21 \ud835\udd22 \ud835\udd23 \ud835\udd24 \ud835\udd25 \ud835\udd26 \ud835\udd27 \ud835\udd28 \ud835\udd29 \ud835\udd2a \ud835\udd2b \ud835\udd2c \ud835\udd2d \ud835\udd2e \ud835\udd2f \ud835\udd30 \ud835\udd31 \ud835\udd32 \ud835\udd33 \ud835\udd34 \ud835\udd35 \ud835\udd36 \ud835\udd37".split(" ");this.capitalLatinDoubleStruck="\ud835\udd38 \ud835\udd39 \u2102 \ud835\udd3b \ud835\udd3c \ud835\udd3d \ud835\udd3e \u210d \ud835\udd40 \ud835\udd41 \ud835\udd42 \ud835\udd43 \ud835\udd44 \u2115 \ud835\udd46 \u2119 \u211a \u211d \ud835\udd4a \ud835\udd4b \ud835\udd4c \ud835\udd4d \ud835\udd4e \ud835\udd4f \ud835\udd50 \u2124".split(" ");
this.smallLatinDoubleStruck="\ud835\udd52 \ud835\udd53 \ud835\udd54 \ud835\udd55 \ud835\udd56 \ud835\udd57 \ud835\udd58 \ud835\udd59 \ud835\udd5a \ud835\udd5b \ud835\udd5c \ud835\udd5d \ud835\udd5e \ud835\udd5f \ud835\udd60 \ud835\udd61 \ud835\udd62 \ud835\udd63 \ud835\udd64 \ud835\udd65 \ud835\udd66 \ud835\udd67 \ud835\udd68 \ud835\udd69 \ud835\udd6a \ud835\udd6b".split(" ");this.capitalLatinBoldFraktur="\ud835\udd6c \ud835\udd6d \ud835\udd6e \ud835\udd6f \ud835\udd70 \ud835\udd71 \ud835\udd72 \ud835\udd73 \ud835\udd74 \ud835\udd75 \ud835\udd76 \ud835\udd77 \ud835\udd78 \ud835\udd79 \ud835\udd7a \ud835\udd7b \ud835\udd7c \ud835\udd7d \ud835\udd7e \ud835\udd7f \ud835\udd80 \ud835\udd81 \ud835\udd82 \ud835\udd83 \ud835\udd84 \ud835\udd85".split(" ");
this.smallLatinBoldFraktur="\ud835\udd86 \ud835\udd87 \ud835\udd88 \ud835\udd89 \ud835\udd8a \ud835\udd8b \ud835\udd8c \ud835\udd8d \ud835\udd8e \ud835\udd8f \ud835\udd90 \ud835\udd91 \ud835\udd92 \ud835\udd93 \ud835\udd94 \ud835\udd95 \ud835\udd96 \ud835\udd97 \ud835\udd98 \ud835\udd99 \ud835\udd9a \ud835\udd9b \ud835\udd9c \ud835\udd9d \ud835\udd9e \ud835\udd9f".split(" ");this.capitalLatinSansSerif="\ud835\udda0 \ud835\udda1 \ud835\udda2 \ud835\udda3 \ud835\udda4 \ud835\udda5 \ud835\udda6 \ud835\udda7 \ud835\udda8 \ud835\udda9 \ud835\uddaa \ud835\uddab \ud835\uddac \ud835\uddad \ud835\uddae \ud835\uddaf \ud835\uddb0 \ud835\uddb1 \ud835\uddb2 \ud835\uddb3 \ud835\uddb4 \ud835\uddb5 \ud835\uddb6 \ud835\uddb7 \ud835\uddb8 \ud835\uddb9".split(" ");
this.smallLatinSansSerif="\ud835\uddba \ud835\uddbb \ud835\uddbc \ud835\uddbd \ud835\uddbe \ud835\uddbf \ud835\uddc0 \ud835\uddc1 \ud835\uddc2 \ud835\uddc3 \ud835\uddc4 \ud835\uddc5 \ud835\uddc6 \ud835\uddc7 \ud835\uddc8 \ud835\uddc9 \ud835\uddca \ud835\uddcb \ud835\uddcc \ud835\uddcd \ud835\uddce \ud835\uddcf \ud835\uddd0 \ud835\uddd1 \ud835\uddd2 \ud835\uddd3".split(" ");this.capitalLatinSansSerifBold="\ud835\uddd4 \ud835\uddd5 \ud835\uddd6 \ud835\uddd7 \ud835\uddd8 \ud835\uddd9 \ud835\uddda \ud835\udddb \ud835\udddc \ud835\udddd \ud835\uddde \ud835\udddf \ud835\udde0 \ud835\udde1 \ud835\udde2 \ud835\udde3 \ud835\udde4 \ud835\udde5 \ud835\udde6 \ud835\udde7 \ud835\udde8 \ud835\udde9 \ud835\uddea \ud835\uddeb \ud835\uddec \ud835\udded".split(" ");
this.smallLatinSansSerifBold="\ud835\uddee \ud835\uddef \ud835\uddf0 \ud835\uddf1 \ud835\uddf2 \ud835\uddf3 \ud835\uddf4 \ud835\uddf5 \ud835\uddf6 \ud835\uddf7 \ud835\uddf8 \ud835\uddf9 \ud835\uddfa \ud835\uddfb \ud835\uddfc \ud835\uddfd \ud835\uddfe \ud835\uddff \ud835\ude00 \ud835\ude01 \ud835\ude02 \ud835\ude03 \ud835\ude04 \ud835\ude05 \ud835\ude06 \ud835\ude07".split(" ");this.capitalLatinSansSerifItalic="\ud835\ude08 \ud835\ude09 \ud835\ude0a \ud835\ude0b \ud835\ude0c \ud835\ude0d \ud835\ude0e \ud835\ude0f \ud835\ude10 \ud835\ude11 \ud835\ude12 \ud835\ude13 \ud835\ude14 \ud835\ude15 \ud835\ude16 \ud835\ude17 \ud835\ude18 \ud835\ude19 \ud835\ude1a \ud835\ude1b \ud835\ude1c \ud835\ude1d \ud835\ude1e \ud835\ude1f \ud835\ude20 \ud835\ude21".split(" ");
this.smallLatinSansSerifItalic="\ud835\ude22 \ud835\ude23 \ud835\ude24 \ud835\ude25 \ud835\ude26 \ud835\ude27 \ud835\ude28 \ud835\ude29 \ud835\ude2a \ud835\ude2b \ud835\ude2c \ud835\ude2d \ud835\ude2e \ud835\ude2f \ud835\ude30 \ud835\ude31 \ud835\ude32 \ud835\ude33 \ud835\ude34 \ud835\ude35 \ud835\ude36 \ud835\ude37 \ud835\ude38 \ud835\ude39 \ud835\ude3a \ud835\ude3b".split(" ");this.capitalLatinMonospace="\ud835\ude70 \ud835\ude71 \ud835\ude72 \ud835\ude73 \ud835\ude74 \ud835\ude75 \ud835\ude76 \ud835\ude77 \ud835\ude78 \ud835\ude79 \ud835\ude7a \ud835\ude7b \ud835\ude7c \ud835\ude7d \ud835\ude7e \ud835\ude7f \ud835\ude80 \ud835\ude81 \ud835\ude82 \ud835\ude83 \ud835\ude84 \ud835\ude85 \ud835\ude86 \ud835\ude87 \ud835\ude88 \ud835\ude89".split(" ");
this.smallLatinMonospace="\ud835\ude8a \ud835\ude8b \ud835\ude8c \ud835\ude8d \ud835\ude8e \ud835\ude8f \ud835\ude90 \ud835\ude91 \ud835\ude92 \ud835\ude93 \ud835\ude94 \ud835\ude95 \ud835\ude96 \ud835\ude97 \ud835\ude98 \ud835\ude99 \ud835\ude9a \ud835\ude9b \ud835\ude9c \ud835\ude9d \ud835\ude9e \ud835\ude9f \ud835\udea0 \ud835\udea1 \ud835\udea2 \ud835\udea3".split(" ");this.latinDoubleStruckItalic=["\u2145","\u2146","\u2147","\u2148","\u2149"];this.capitalGreek="\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039a\u039b\u039c\u039d\u039e\u039f\u03a0\u03a1\u03a3\u03a4\u03a5\u03a6\u03a7\u03a8\u03a9".split("");
this.smallGreek="\u03b1\u03b2\u03b3\u03b4\u03b5\u03b6\u03b7\u03b8\u03b9\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u03c4\u03c5\u03c6\u03c7\u03c8\u03c9".split("");this.capitalGreekBold="\ud835\udea8 \ud835\udea9 \ud835\udeaa \ud835\udeab \ud835\udeac \ud835\udead \ud835\udeae \ud835\udeaf \ud835\udeb0 \ud835\udeb1 \ud835\udeb2 \ud835\udeb3 \ud835\udeb4 \ud835\udeb5 \ud835\udeb6 \ud835\udeb7 \ud835\udeb8 \ud835\udeba \ud835\udebb \ud835\udebc \ud835\udebd \ud835\udebe \ud835\udebf \ud835\udec0".split(" ");
this.smallGreekBold="\ud835\udec2 \ud835\udec3 \ud835\udec4 \ud835\udec5 \ud835\udec6 \ud835\udec7 \ud835\udec8 \ud835\udec9 \ud835\udeca \ud835\udecb \ud835\udecc \ud835\udecd \ud835\udece \ud835\udecf \ud835\uded0 \ud835\uded1 \ud835\uded2 \ud835\uded3 \ud835\uded4 \ud835\uded5 \ud835\uded6 \ud835\uded7 \ud835\uded8 \ud835\uded9 \ud835\udeda".split(" ");this.capitalGreekItalic="\ud835\udee2 \ud835\udee3 \ud835\udee4 \ud835\udee5 \ud835\udee6 \ud835\udee7 \ud835\udee8 \ud835\udee9 \ud835\udeea \ud835\udeeb \ud835\udeec \ud835\udeed \ud835\udeee \ud835\udeef \ud835\udef0 \ud835\udef1 \ud835\udef2 \ud835\udef4 \ud835\udef5 \ud835\udef6 \ud835\udef7 \ud835\udef8 \ud835\udef9 \ud835\udefa".split(" ");
this.smallGreekItalic="\ud835\udefc \ud835\udefd \ud835\udefe \ud835\udeff \ud835\udf00 \ud835\udf01 \ud835\udf02 \ud835\udf03 \ud835\udf04 \ud835\udf05 \ud835\udf06 \ud835\udf07 \ud835\udf08 \ud835\udf09 \ud835\udf0a \ud835\udf0b \ud835\udf0c \ud835\udf0d \ud835\udf0e \ud835\udf0f \ud835\udf10 \ud835\udf11 \ud835\udf12 \ud835\udf13 \ud835\udf14".split(" ");this.capitalGreekSansSerifBold="\ud835\udf56 \ud835\udf57 \ud835\udf58 \ud835\udf59 \ud835\udf5a \ud835\udf5b \ud835\udf5c \ud835\udf5d \ud835\udf5e \ud835\udf5f \ud835\udf60 \ud835\udf61 \ud835\udf62 \ud835\udf63 \ud835\udf64 \ud835\udf65 \ud835\udf66 \ud835\udf68 \ud835\udf69 \ud835\udf6a \ud835\udf6b \ud835\udf6c \ud835\udf6d \ud835\udf6e".split(" ");
this.smallGreekSansSerifBold="\ud835\udf70 \ud835\udf71 \ud835\udf72 \ud835\udf73 \ud835\udf74 \ud835\udf75 \ud835\udf76 \ud835\udf77 \ud835\udf78 \ud835\udf79 \ud835\udf7a \ud835\udf7b \ud835\udf7c \ud835\udf7d \ud835\udf7e \ud835\udf7f \ud835\udf80 \ud835\udf81 \ud835\udf82 \ud835\udf83 \ud835\udf84 \ud835\udf85 \ud835\udf86 \ud835\udf87 \ud835\udf88".split(" ");this.greekDoubleStruck=["\u213c","\u213d","\u213e","\u213f"];this.hebrewLetters=["\u2135","\u2136","\u2137","\u2138"];this.additions="+\u00b1\u2213\u2214\u2227\u2228\u2229\u222a\u228c\u2293\u2294\u229d\u229e\u22a4\u22a5\u22ba\u22bb\u22bc\u22c4\u22ce\u22cf\u22d2\u22d3\u25b3\u25b7\u25bd\u25c1\u2a5e\u2295".split("");
this.invisiblePlus_=cvox.SemanticUtil.numberToUnicode(8292);this.additions.push(this.invisiblePlus_);this.multiplications="\u2020\u2021\u2210\u2217\u2218\u2219\u2240\u229a\u229b\u22a0\u22a1\u22c5\u22c6\u22c7\u22c9\u22ca\u22cb\u22cc\u25cb".split("");this.invisibleTimes_=cvox.SemanticUtil.numberToUnicode(8290);this.multiplications.push(this.invisibleTimes_);this.subtractions="-\u2052\u207b\u208b\u2212\u2216\u2238\u2242\u2296\u229f\u2796\u2a29\u2a2a\u2a2b\u2a2c\u2a3a\u2a41\u2a6c\ufe63\uff0d\u2010\u2011".split("");
this.divisions="/\u00f7\u2044\u2215\u2298\u27cc\u29bc\u2a38".split("");this.functionApplication_=cvox.SemanticUtil.numberToUnicode(8289);this.equalities="=~\u207c\u208c\u223c\u223d\u2243\u2245\u2248\u224a\u224b\u224c\u224d\u224e\u2251\u2252\u2253\u2254\u2255\u2256\u2257\u2258\u2259\u225a\u225b\u225c\u225d\u225e\u225f\u2261\u2263\u29e4\u2a66\u2a6e\u2a6f\u2a70\u2a71\u2a72\u2a73\u2a74\u2a75\u2a76\u2a77\u2a78\u22d5\u2a6d\u2a6a\u2a6b\u2a6c\ufe66\uff1d".split("");this.inequalities="<>\u2241\u2242\u2244\u2246\u2247\u2249\u224f\u2250\u2260\u2262\u2264\u2265\u2266\u2267\u2268\u2269\u226a\u226b\u226c\u226d\u226e\u226f\u2270\u2271\u2272\u2273\u2274\u2275\u2276\u2277\u2278\u2279\u227a\u227b\u227c\u227d\u227e\u227f\u2280\u2281\u22d6\u22d7\u22d8\u22d9\u22da\u22db\u22dc\u22dd\u22de\u22df\u22e0\u22e1\u22e2\u22e3\u22e4\u22e5\u22e6\u22e7\u22e8\u22e9\u2a79\u2a7a\u2a7b\u2a7c\u2a7d\u2a7e\u2a7f\u2a80\u2a81\u2a82\u2a83\u2a84\u2a85\u2a86\u2a87\u2a88\u2a89\u2a8a\u2a8b\u2a8c\u2a8d\u2a8e\u2a8f\u2a90\u2a91\u2a92\u2a93\u2a94\u2a95\u2a96\u2a97\u2a98\u2a99\u2a9a\u2a9b\u2a9c\u2a9d\u2a9e\u2a9f\u2aa0\u2aa1\u2aa2\u2aa3\u2aa4\u2aa5\u2aa6\u2aa7\u2aa8\u2aa9\u2aaa\u2aab\u2aac\u2aad\u2aae\u2aaf\u2ab0\u2ab1\u2ab2\u2ab3\u2ab4\u2ab5\u2ab6\u2ab7\u2ab8\u2ab9\u2aba\u2abb\u2abc\u2af7\u2af8\u2af9\u2afa\u29c0\u29c1\ufe64\ufe65\uff1c\uff1e".split("");
this.relations=[];this.arrows="\u2190\u2191\u2192\u2193\u2194\u2195\u2196\u2197\u2198\u2199\u219a\u219b\u219c\u219d\u219e\u219f\u21a0\u21a1\u21a2\u21a3\u21a4\u21a5\u21a6\u21a7\u21a8\u21a9\u21aa\u21ab\u21ac\u21ad\u21ae\u21af\u21b0\u21b1\u21b2\u21b3\u21b4\u21b5\u21b6\u21b7\u21b8\u21b9\u21ba\u21bb\u21c4\u21c5\u21c6\u21c7\u21c8\u21c9\u21ca\u21cd\u21ce\u21cf\u21d0\u21d1\u21d2\u21d3\u21d4\u21d5\u21d6\u21d7\u21d8\u21d9\u21da\u21db\u21dc\u21dd\u21de\u21df\u21e0\u21e1\u21e2\u21e3\u21e4\u21e5\u21e6\u21e7\u21e8\u21e9\u21ea\u21eb\u21ec\u21ed\u21ee\u21ef\u21f0\u21f1\u21f2\u21f3\u21f4\u21f5\u21f6\u21f7\u21f8\u21f9\u21fa\u21fb\u21fc\u21fd\u21fe\u21ff\u2301\u2303\u2304\u2324\u238b\u2794\u2798\u2799\u279a\u279b\u279c\u279d\u279e\u279f\u27a0\u27a1\u27a2\u27a3\u27a4\u27a5\u27a6\u27a7\u27a8\u27a9\u27aa\u27ab\u27ac\u27ad\u27ae\u27af\u27b1\u27b2\u27b3\u27b4\u27b5\u27b6\u27b7\u27b8\u27b9\u27ba\u27bb\u27bc\u27bd\u27be\u27f0\u27f1\u27f2\u27f3\u27f4\u27f5\u27f6\u27f7\u27f8\u27f9\u27fa\u27fb\u27fc\u27fd\u27fe\u27ff\u2900\u2901\u2902\u2903\u2904\u2905\u2906\u2907\u2908\u2909\u290a\u290b\u290c\u290d\u290e\u290f\u2910\u2911\u2912\u2913\u2914\u2915\u2916\u2917\u2918\u2919\u291a\u291b\u291c\u291d\u291e\u291f\u2920\u2921\u2922\u2923\u2924\u2925\u2926\u2927\u2928\u2929\u292a\u292d\u292e\u292f\u2930\u2931\u2932\u2933\u2934\u2935\u2936\u2937\u2938\u2939\u293a\u293b\u293c\u293d\u293e\u293f\u2940\u2941\u2942\u2943\u2944\u2945\u2946\u2947\u2948\u2949\u2970\u2971\u2972\u2973\u2974\u2975\u2976\u2977\u2978\u2979\u297a\u297b\u29b3\u29b4\u29bd\u29ea\u29ec\u29ed\u2a17\u2b00\u2b01\u2b02\u2b03\u2b04\u2b05\u2b06\u2b07\u2b08\u2b09\u2b0a\u2b0b\u2b0c\u2b0d\u2b0e\u2b0f\u2b10\u2b11\u2b30\u2b31\u2b32\u2b33\u2b34\u2b35\u2b36\u2b37\u2b38\u2b39\u2b3a\u2b3b\u2b3c\u2b3d\u2b3e\u2b3f\u2b40\u2b41\u2b42\u2b43\u2b44\u2b45\u2b46\u2b47\u2b48\u2b49\u2b4a\u2b4b\u2b4c\uffe9\uffea\uffeb\uffec\u21bc\u21bd\u21be\u21bf\u21c0\u21c1\u21c2\u21c3\u21cb\u21cc\u294a\u294b\u294c\u294d\u294e\u294f\u2950\u2951\u2952\u2953\u2954\u2955\u2956\u2957\u2958\u2959\u295a\u295b\u295c\u295d\u295e\u295f\u2960\u2961\u2962\u2963\u2964\u2965\u2966\u2967\u2968\u2969\u296a\u296b\u296c\u296d\u296e\u296f\u297c\u297d\u297e\u297f".split("");
this.sumOps="\u2140\u220f\u2210\u2211\u22c0\u22c1\u22c2\u22c3\u2a00\u2a01\u2a02\u2a03\u2a04\u2a05\u2a06\u2a07\u2a08\u2a09\u2a0a\u2a0b\u2afc\u2aff".split("");this.intOps="\u222b\u222c\u222d\u222e\u222f\u2230\u2231\u2232\u2233\u2a0c\u2a0d\u2a0e\u2a0f\u2a10\u2a11\u2a12\u2a13\u2a14\u2a15\u2a16\u2a17\u2a18\u2a19\u2a1a\u2a1b\u2a1c".split("");this.prefixOps=["\u2200","\u2203"];this.digitsNormal="0123456789".split("");this.digitsFullWidth="\uff10\uff11\uff12\uff13\uff14\uff15\uff16\uff17\uff18\uff19".split("");
this.digitsBold="\ud835\udfce \ud835\udfcf \ud835\udfd0 \ud835\udfd1 \ud835\udfd2 \ud835\udfd3 \ud835\udfd4 \ud835\udfd5 \ud835\udfd6 \ud835\udfd7".split(" ");this.digitsDoubleStruck="\ud835\udfd8 \ud835\udfd9 \ud835\udfda \ud835\udfdb \ud835\udfdc \ud835\udfdd \ud835\udfde \ud835\udfdf \ud835\udfe0 \ud835\udfe1".split(" ");this.digitsSansSerif="\ud835\udfe2 \ud835\udfe3 \ud835\udfe4 \ud835\udfe5 \ud835\udfe6 \ud835\udfe7 \ud835\udfe8 \ud835\udfe9 \ud835\udfea \ud835\udfeb".split(" ");this.digitsSansSerifBold=
"\ud835\udfec \ud835\udfed \ud835\udfee \ud835\udfef \ud835\udff0 \ud835\udff1 \ud835\udff2 \ud835\udff3 \ud835\udff4 \ud835\udff5".split(" ");this.digitsMonospace="\ud835\udff6 \ud835\udff7 \ud835\udff8 \ud835\udff9 \ud835\udffa \ud835\udffb \ud835\udffc \ud835\udffd \ud835\udffe \ud835\udfff".split(" ");this.digitsSuperscript="\u00b2\u00b3\u00b9\u2070\u2074\u2075\u2076\u2077\u2078\u2079".split("");this.digitsSubscript="\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089".split("");this.fractions=
"\u00bc\u00bd\u00be\u2150\u2151\u2152\u2153\u2154\u2155\u2156\u2157\u2158\u2159\u215a\u215b\u215c\u215d\u215e\u215f\u2189".split("");this.enclosedNumbers="\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467\u2468\u2469\u246a\u246b\u246c\u246d\u246e\u246f\u2470\u2471\u2472\u2473\u24ea\u24eb\u24ec\u24ed\u24ee\u24ef\u24f0\u24f1\u24f2\u24f3\u24f4\u24f5\u24f6\u24f7\u24f8\u24f9\u24fa\u24fb\u24fc\u24fd\u24fe\u24ff\u2776\u2777\u2778\u2779\u277a\u277b\u277c\u277d\u277e\u277f\u2780\u2781\u2782\u2783\u2784\u2785\u2786\u2787\u2788\u2789\u278a\u278b\u278c\u278d\u278e\u278f\u2790\u2791\u2792\u2793\u3248\u3249\u324a\u324b\u324c\u324d\u324e\u324f\u3251\u3252\u3253\u3254\u3255\u3256\u3257\u3258\u3259\u325a\u325b\u325c\u325d\u325e\u325f\u32b1\u32b2\u32b3\u32b4\u32b5\u32b6\u32b7\u32b8\u32b9\u32ba\u32bb\u32bc\u32bd\u32be\u32bf".split("");
this.fencedNumbers="\u2474\u2475\u2476\u2477\u2478\u2479\u247a\u247b\u247c\u247d\u247e\u247f\u2480\u2481\u2482\u2483\u2484\u2485\u2486\u2487".split("");this.punctuatedNumbers="\u2488 \u2489 \u248a \u248b \u248c \u248d \u248e \u248f \u2490 \u2491 \u2492 \u2493 \u2494 \u2495 \u2496 \u2497 \u2498 \u2499 \u249a \u249b \ud83c\udd00 \ud83c\udd01 \ud83c\udd02 \ud83c\udd03 \ud83c\udd04 \ud83c\udd05 \ud83c\udd06 \ud83c\udd07 \ud83c\udd08 \ud83c\udd09 \ud83c\udd0a".split(" ");this.numbers=this.fractions.concat(this.digitsSuperscript,
this.digitsSubscript,this.enclosedNumbers,this.fencedNumbers,this.punctuatedNumbers);this.trigonometricFunctions="cos cot csc sec sin tan arccos arccot arccsc arcsec arcsin arctan".split(" ");this.hyperbolicFunctions="cosh coth csch sech sinh tanh arcosh arcoth arcsch arsech arsinh artanh arccosh arccoth arccsch arcsech arcsinh arctanh".split(" ");this.algebraicFunctions="deg det dim hom ker Tr tr".split(" ");this.elementaryFunctions="log ln lg exp expt gcd gcd arg im re Pr".split(" ");this.prefixFunctions=
this.trigonometricFunctions.concat(this.hyperbolicFunctions,this.algebraicFunctions,this.elementaryFunctions);this.limitFunctions="inf lim liminf limsup max min sup injlim projlim".split(" ");this.infixFunctions=["mod","rem"];this.symbolSetToSemantic_=[{set:this.generalPunctuations,type:cvox.SemanticAttr.Type.PUNCTUATION,role:cvox.SemanticAttr.Role.UNKNOWN},{set:this.ellipses,type:cvox.SemanticAttr.Type.PUNCTUATION,role:cvox.SemanticAttr.Role.ELLIPSIS},{set:this.fullStops,type:cvox.SemanticAttr.Type.PUNCTUATION,
role:cvox.SemanticAttr.Role.FULLSTOP},{set:this.dashes,type:cvox.SemanticAttr.Type.PUNCTUATION,role:cvox.SemanticAttr.Role.DASH},{set:this.primes,type:cvox.SemanticAttr.Type.PUNCTUATION,role:cvox.SemanticAttr.Role.PRIME},{set:this.leftFences,type:cvox.SemanticAttr.Type.FENCE,role:cvox.SemanticAttr.Role.OPEN},{set:this.rightFences,type:cvox.SemanticAttr.Type.FENCE,role:cvox.SemanticAttr.Role.CLOSE},{set:this.topFences,type:cvox.SemanticAttr.Type.FENCE,role:cvox.SemanticAttr.Role.TOP},{set:this.bottomFences,
type:cvox.SemanticAttr.Type.FENCE,role:cvox.SemanticAttr.Role.BOTTOM},{set:this.neutralFences,type:cvox.SemanticAttr.Type.FENCE,role:cvox.SemanticAttr.Role.NEUTRAL},{set:this.smallLatin,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.NORMAL},{set:this.capitalLatin,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.NORMAL},{set:this.smallLatinFullWidth,type:cvox.SemanticAttr.Type.IDENTIFIER,
role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.NORMAL},{set:this.capitalLatinFullWidth,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.NORMAL},{set:this.smallLatinBold,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.BOLD},{set:this.capitalLatinBold,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.BOLD},
{set:this.smallLatinItalic,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.ITALIC},{set:this.capitalLatinItalic,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.ITALIC},{set:this.smallLatinScript,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.SCRIPT},{set:this.capitalLatinScript,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,
font:cvox.SemanticAttr.Font.SCRIPT},{set:this.smallLatinBoldScript,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.BOLDSCRIPT},{set:this.capitalLatinBoldScript,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.BOLDSCRIPT},{set:this.smallLatinFraktur,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.FRAKTUR},{set:this.capitalLatinFraktur,
type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.FRAKTUR},{set:this.smallLatinDoubleStruck,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.DOUBLESTRUCK},{set:this.capitalLatinDoubleStruck,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.DOUBLESTRUCK},{set:this.smallLatinBoldFraktur,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,
font:cvox.SemanticAttr.Font.BOLDFRAKTUR},{set:this.capitalLatinBoldFraktur,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.BOLDFRAKTUR},{set:this.smallLatinSansSerif,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.SANSSERIF},{set:this.capitalLatinSansSerif,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.SANSSERIF},{set:this.smallLatinSansSerifBold,
type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.SANSSERIFBOLD},{set:this.capitalLatinSansSerifBold,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.SANSSERIFBOLD},{set:this.smallLatinSansSerifItalic,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.SANSSERIFITALIC},{set:this.capitalLatinSansSerifItalic,type:cvox.SemanticAttr.Type.IDENTIFIER,
role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.SANSSERIFITALIC},{set:this.smallLatinMonospace,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.MONOSPACE},{set:this.capitalLatinMonospace,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.MONOSPACE},{set:this.latinDoubleStruckItalic,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.LATINLETTER,font:cvox.SemanticAttr.Font.DOUBLESTRUCKITALIC},
{set:this.smallGreek,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.GREEKLETTER,font:cvox.SemanticAttr.Font.NORMAL},{set:this.capitalGreek,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.GREEKLETTER,font:cvox.SemanticAttr.Font.NORMAL},{set:this.smallGreekBold,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.GREEKLETTER,font:cvox.SemanticAttr.Font.BOLD},{set:this.capitalGreekBold,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.GREEKLETTER,
font:cvox.SemanticAttr.Font.BOLD},{set:this.smallGreekItalic,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.GREEKLETTER,font:cvox.SemanticAttr.Font.ITALIC},{set:this.capitalGreekItalic,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.GREEKLETTER,font:cvox.SemanticAttr.Font.ITALIC},{set:this.smallGreekSansSerifBold,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.GREEKLETTER,font:cvox.SemanticAttr.Font.SANSSERIFBOLD},{set:this.capitalGreekSansSerifBold,
type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.GREEKLETTER,font:cvox.SemanticAttr.Font.SANSSERIFBOLD},{set:this.greekDoubleStruck,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.GREEKLETTER,font:cvox.SemanticAttr.Font.DOUBLESTRUCK},{set:this.hebrewLetters,type:cvox.SemanticAttr.Type.IDENTIFIER,role:cvox.SemanticAttr.Role.OTHERLETTER,font:cvox.SemanticAttr.Font.NORMAL},{set:this.digitsNormal,type:cvox.SemanticAttr.Type.NUMBER,role:cvox.SemanticAttr.Role.INTEGER,
font:cvox.SemanticAttr.Font.NORMAL},{set:this.digitsFullWidth,type:cvox.SemanticAttr.Type.NUMBER,role:cvox.SemanticAttr.Role.INTEGER,font:cvox.SemanticAttr.Font.NORMAL},{set:this.digitsBold,type:cvox.SemanticAttr.Type.NUMBER,role:cvox.SemanticAttr.Role.INTEGER,font:cvox.SemanticAttr.Font.BOLD},{set:this.digitsDoubleStruck,type:cvox.SemanticAttr.Type.NUMBER,role:cvox.SemanticAttr.Role.INTEGER,font:cvox.SemanticAttr.Font.DOUBLESTRUCK},{set:this.digitsSansSerif,type:cvox.SemanticAttr.Type.NUMBER,role:cvox.SemanticAttr.Role.INTEGER,
font:cvox.SemanticAttr.Font.SANSSERIF},{set:this.digitsSansSerifBold,type:cvox.SemanticAttr.Type.NUMBER,role:cvox.SemanticAttr.Role.INTEGER,font:cvox.SemanticAttr.Font.SANSSERIFBOLD},{set:this.digitsMonospace,type:cvox.SemanticAttr.Type.NUMBER,role:cvox.SemanticAttr.Role.INTEGER,font:cvox.SemanticAttr.Font.MONOSPACE},{set:this.numbers,type:cvox.SemanticAttr.Type.NUMBER,role:cvox.SemanticAttr.Role.INTEGER},{set:this.additions,type:cvox.SemanticAttr.Type.OPERATOR,role:cvox.SemanticAttr.Role.ADDITION},
{set:this.multiplications,type:cvox.SemanticAttr.Type.OPERATOR,role:cvox.SemanticAttr.Role.MULTIPLICATION},{set:this.subtractions,type:cvox.SemanticAttr.Type.OPERATOR,role:cvox.SemanticAttr.Role.SUBTRACTION},{set:this.divisions,type:cvox.SemanticAttr.Type.OPERATOR,role:cvox.SemanticAttr.Role.DIVISION},{set:this.prefixOps,type:cvox.SemanticAttr.Type.PREFIXOP,role:cvox.SemanticAttr.Role.PREFIXFUNC},{set:this.equalities,type:cvox.SemanticAttr.Type.RELATION,role:cvox.SemanticAttr.Role.EQUALITY},{set:this.inequalities,
type:cvox.SemanticAttr.Type.RELATION,role:cvox.SemanticAttr.Role.INEQUALITY},{set:this.relations,type:cvox.SemanticAttr.Type.RELATION,role:cvox.SemanticAttr.Role.UNKNOWN},{set:this.arrows,type:cvox.SemanticAttr.Type.RELATION,role:cvox.SemanticAttr.Role.ARROW},{set:this.sumOps,type:cvox.SemanticAttr.Type.LARGEOP,role:cvox.SemanticAttr.Role.SUM},{set:this.intOps,type:cvox.SemanticAttr.Type.LARGEOP,role:cvox.SemanticAttr.Role.INTEGRAL},{set:this.limitFunctions,type:cvox.SemanticAttr.Type.FUNCTION,role:cvox.SemanticAttr.Role.LIMFUNC},
{set:this.prefixFunctions,type:cvox.SemanticAttr.Type.FUNCTION,role:cvox.SemanticAttr.Role.PREFIXFUNC},{set:this.infixFunctions,type:cvox.SemanticAttr.Type.OPERATOR,role:cvox.SemanticAttr.Role.MULTIPLICATION}]};goog.addSingletonGetter(cvox.SemanticAttr);
cvox.SemanticAttr.Type={PUNCTUATION:"punctuation",FENCE:"fence",NUMBER:"number",IDENTIFIER:"identifier",TEXT:"text",OPERATOR:"operator",RELATION:"relation",LARGEOP:"largeop",FUNCTION:"function",ACCENT:"accent",FENCED:"fenced",FRACTION:"fraction",PUNCTUATED:"punctuated",RELSEQ:"relseq",MULTIREL:"multirel",INFIXOP:"infixop",PREFIXOP:"prefixop",POSTFIXOP:"postfixop",APPL:"appl",INTEGRAL:"integral",BIGOP:"bigop",SQRT:"sqrt",ROOT:"root",LIMUPPER:"limupper",LIMLOWER:"limlower",LIMBOTH:"limboth",SUBSCRIPT:"subscript",
SUPERSCRIPT:"superscript",UNDERSCORE:"underscore",OVERSCORE:"overscore",TABLE:"table",MULTILINE:"multiline",MATRIX:"matrix",VECTOR:"vector",CASES:"cases",ROW:"row",LINE:"line",CELL:"cell",UNKNOWN:"unknown",EMPTY:"empty"};
cvox.SemanticAttr.Role={ELLIPSIS:"ellipsis",FULLSTOP:"fullstop",DASH:"dash",PRIME:"prime",VBAR:"vbar",OPENFENCE:"openfence",CLOSEFENCE:"closefence",APPLICATION:"application",OPEN:"open",CLOSE:"close",TOP:"top",BOTTOM:"bottom",NEUTRAL:"neutral",LATINLETTER:"latinletter",GREEKLETTER:"greekletter",OTHERLETTER:"otherletter",INTEGER:"integer",FLOAT:"float",OTHERNUMBER:"othernumber",MULTIACCENT:"multiaccent",OVERACCENT:"overaccent",UNDERACCENT:"underaccent",LEFTRIGHT:"leftright",ABOVEBELOW:"abovebelow",
SEQUENCE:"sequence",ENDPUNCT:"endpunct",STARTPUNCT:"startpunct",NEGATIVE:"negative",NEGATION:"negation",MULTIOP:"multiop",LIMFUNC:"limit function",INFIXFUNC:"infix function",PREFIXFUNC:"prefix function",POSTFIXFUNC:"postfix function",SUM:"sum",INTEGRAL:"integral",ADDITION:"addition",MULTIPLICATION:"multiplication",DIVISION:"division",SUBTRACTION:"subtraction",IMPLICIT:"implicit",EQUALITY:"equality",INEQUALITY:"inequality",ELEMENT:"element",BINREL:"binrel",ARROW:"arrow",MULTILINE:"multiline",MATRIX:"matrix",
VECTOR:"vector",CASES:"cases",TABLE:"table",UNKNOWN:"unknown"};cvox.SemanticAttr.Font={BOLD:"bold",BOLDFRAKTUR:"bold-fraktur",BOLDITALIC:"bold-italic",BOLDSCRIPT:"bold-script",DOUBLESTRUCK:"double-struck",DOUBLESTRUCKITALIC:"double-struck-italic",FRAKTUR:"fraktur",ITALIC:"italic",MONOSPACE:"monospace",NORMAL:"normal",SCRIPT:"script",SANSSERIF:"sans-serif",SANSSERIFITALIC:"sans-serif-italic",SANSSERIFBOLD:"sans-serif-bold",SANSSERIFBOLDITALIC:"sans-serif-bold-italic",UNKNOWN:"unknown"};
cvox.SemanticAttr.lookupMeaning=function(a){return cvox.SemanticAttr.getInstance().lookupMeaning_(a)};cvox.SemanticAttr.invisibleTimes=function(){return cvox.SemanticAttr.getInstance().invisibleTimes_};cvox.SemanticAttr.invisibleComma=function(){return cvox.SemanticAttr.getInstance().invisibleComma_};cvox.SemanticAttr.functionApplication=function(){return cvox.SemanticAttr.getInstance().functionApplication_};
cvox.SemanticAttr.isMatchingFenceRole=function(a,b){return a==cvox.SemanticAttr.Role.OPEN&&b==cvox.SemanticAttr.Role.CLOSE||a==cvox.SemanticAttr.Role.NEUTRAL&&b==cvox.SemanticAttr.Role.NEUTRAL||a==cvox.SemanticAttr.Role.TOP&&b==cvox.SemanticAttr.Role.BOTTOM};cvox.SemanticAttr.isMatchingFence=function(a,b){return cvox.SemanticAttr.getInstance().isMatchingFence_(a,b)};cvox.SemanticAttr.isOpeningFence=function(a){return a==cvox.SemanticAttr.Role.OPEN||a==cvox.SemanticAttr.Role.NEUTRAL};
cvox.SemanticAttr.isClosingFence=function(a){return a==cvox.SemanticAttr.Role.CLOSE||a==cvox.SemanticAttr.Role.NEUTRAL};cvox.SemanticAttr.isCharacterD=function(a){var b="d \u2146 \uff44 \ud835\udc1d \ud835\udc51 \ud835\udcb9 \ud835\udced \ud835\udd21 \ud835\udd55 \ud835\udd89 \ud835\uddbd \ud835\uddf1 \ud835\ude25 \ud835\ude8d".split(" ");return-1!=b.indexOf(a)};
cvox.SemanticAttr.prototype.isMatchingFence_=function(a,b){return-1!=this.neutralFences.indexOf(a)?a==b:this.openClosePairs[a]==b||this.topBottomPairs[a]==b};
cvox.SemanticAttr.prototype.lookupMeaning_=function(a){for(var b=0,c;c=this.symbolSetToSemantic_[b];b++)if(-1!=c.set.indexOf(a))return{role:c.role||cvox.SemanticAttr.Role.UNKNOWN,type:c.type||cvox.SemanticAttr.Type.UNKNOWN,font:c.font||cvox.SemanticAttr.Font.UNKNOWN};return{role:cvox.SemanticAttr.Role.UNKNOWN,type:cvox.SemanticAttr.Type.UNKNOWN,font:cvox.SemanticAttr.Font.UNKNOWN}};cvox.SemanticTree=function(a){this.idCounter_=0;this.mathml=a;this.root=this.parseMathml_(a)};cvox.SemanticTree.Node=function(a){this.id=a;this.mathml=[];this.parent=null;this.type=cvox.SemanticAttr.Type.UNKNOWN;this.role=cvox.SemanticAttr.Role.UNKNOWN;this.font=cvox.SemanticAttr.Font.UNKNOWN;this.childNodes=[];this.textContent="";this.contentNodes=[]};
cvox.SemanticTree.Node.prototype.querySelectorAll=function(a){for(var b=[],c=0,d;d=this.childNodes[c];c++)b=b.concat(d.querySelectorAll(a));a(this)&&b.unshift(this);return b};cvox.SemanticTree.prototype.xml=function(a){var b=new DOMParser,b=b.parseFromString("<stree></stree>","text/xml");a=this.root.xml(b,a);b.childNodes[0].appendChild(a);return b.childNodes[0]};
cvox.SemanticTree.Node.prototype.xml=function(a,b){var c=function(c,d){for(var g=d.map(function(c){return c.xml(a,b)}),h=a.createElement(c),k=0,l;l=g[k];k++)h.appendChild(l);return h},d=a.createElement(this.type);b||this.xmlAttributes_(d);d.textContent=this.textContent;0<this.contentNodes.length&&d.appendChild(c("content",this.contentNodes));0<this.childNodes.length&&d.appendChild(c("children",this.childNodes));return d};cvox.SemanticTree.prototype.toString=function(a){var b=new XMLSerializer;return b.serializeToString(this.xml(a))};
cvox.SemanticTree.prototype.formatXml=function(a){a=this.toString(a);return cvox.SemanticTree.formatXml(a)};cvox.SemanticTree.formatXml=function(a){var b=/(>)(<)(\/*)/g;a=a.replace(b,"$1\r\n$2$3");b=/(>)(.+)(<c)/g;a=a.replace(b,"$1\r\n$2\r\n$3");var c="",d="";a.split("\r\n").forEach(function(a){a.match(/.+<\/\w[^>]*>$/)?c+=d+a+"\r\n":a.match(/^<\/\w/)?d&&(d=d.slice(2),c+=d+a+"\r\n"):a.match(/^<\w[^>]*[^\/]>.*$/)?(c+=d+a+"\r\n",d+="  "):c+=d+a+"\r\n"});return c};
cvox.SemanticTree.Node.prototype.toString=function(a){var b=new XMLSerializer,c=new DOMParser,c=c.parseFromString("","text/xml");return b.serializeToString(this.xml(c,a))};cvox.SemanticTree.Node.prototype.xmlAttributes_=function(a){a.setAttribute("role",this.role);this.font!=cvox.SemanticAttr.Font.UNKNOWN&&a.setAttribute("font",this.font);a.setAttribute("id",this.id)};cvox.SemanticTree.prototype.createNode_=function(){return new cvox.SemanticTree.Node(this.idCounter_++)};
cvox.SemanticTree.Node.prototype.updateContent_=function(a){a=a.trim();if(this.textContent!=a){var b=cvox.SemanticAttr.lookupMeaning(a);this.textContent=a;this.role=b.role;this.type=b.type;this.font=b.font}};cvox.SemanticTree.Node.prototype.addMathmlNodes_=function(a){for(var b=0,c;c=a[b];b++)-1==this.mathml.indexOf(c)&&this.mathml.push(c)};cvox.SemanticTree.Node.prototype.appendChild_=function(a){this.childNodes.push(a);this.addMathmlNodes_(a.mathml);a.parent=this};
cvox.SemanticTree.Node.prototype.appendContentNode_=function(a){a&&(this.contentNodes.push(a),this.addMathmlNodes_(a.mathml),a.parent=this)};
cvox.SemanticTree.prototype.parseMathml_=function(a){var b=cvox.DomUtil.toArray(a.children);switch(cvox.SemanticUtil.tagName(a)){case "MATH":case "MROW":case "MPADDED":case "MSTYLE":return b=cvox.SemanticUtil.purgeNodes(b),1==b.length?this.parseMathml_(b[0]):this.processRow_(this.parseMathmlChildren_(b));case "MFRAC":return a=this.makeBranchNode_(cvox.SemanticAttr.Type.FRACTION,[this.parseMathml_(b[0]),this.parseMathml_(b[1])],[]),a.role=cvox.SemanticAttr.Role.DIVISION,a;case "MSUB":case "MSUP":case "MSUBSUP":case "MOVER":case "MUNDER":case "MUNDEROVER":return this.makeLimitNode_(cvox.SemanticUtil.tagName(a),
this.parseMathmlChildren_(b));case "MROOT":return this.makeBranchNode_(cvox.SemanticAttr.Type.ROOT,[this.parseMathml_(b[0]),this.parseMathml_(b[1])],[]);case "MSQRT":return b=this.parseMathmlChildren_(cvox.SemanticUtil.purgeNodes(b)),this.makeBranchNode_(cvox.SemanticAttr.Type.SQRT,[this.processRow_(b)],[]);case "MTABLE":return a=this.makeBranchNode_(cvox.SemanticAttr.Type.TABLE,this.parseMathmlChildren_(b),[]),cvox.SemanticTree.tableIsMultiline_(a)&&this.tableToMultiline_(a),a;case "MTR":return a=
this.makeBranchNode_(cvox.SemanticAttr.Type.ROW,this.parseMathmlChildren_(b),[]),a.role=cvox.SemanticAttr.Role.TABLE,a;case "MTD":return b=this.parseMathmlChildren_(cvox.SemanticUtil.purgeNodes(b)),a=this.makeBranchNode_(cvox.SemanticAttr.Type.CELL,[this.processRow_(b)],[]),a.role=cvox.SemanticAttr.Role.TABLE,a;case "MTEXT":return a=this.makeLeafNode_(a),a.type=cvox.SemanticAttr.Type.TEXT,a;case "MI":return a=this.makeLeafNode_(a),a.type==cvox.SemanticAttr.Type.UNKNOWN&&(a.type=cvox.SemanticAttr.Type.IDENTIFIER),
a;case "MN":return a=this.makeLeafNode_(a),a.type==cvox.SemanticAttr.Type.UNKNOWN&&(a.type=cvox.SemanticAttr.Type.NUMBER),a;case "MO":return a=this.makeLeafNode_(a),a.type==cvox.SemanticAttr.Type.UNKNOWN&&(a.type=cvox.SemanticAttr.Type.OPERATOR),a;default:return this.makeUnprocessed_(a)}};cvox.SemanticTree.prototype.parseMathmlChildren_=function(a){for(var b=[],c=0,d;d=a[c];c++)b.push(this.parseMathml_(d));return b};
cvox.SemanticTree.prototype.makeUnprocessed_=function(a){var b=this.createNode_();b.mathml=[a];return b};cvox.SemanticTree.prototype.makeEmptyNode_=function(){var a=this.createNode_();a.type=cvox.SemanticAttr.Type.EMPTY;return a};cvox.SemanticTree.prototype.makeLeafNode_=function(a){var b=this.createNode_();b.mathml=[a];b.updateContent_(a.textContent);b.font=a.getAttribute("mathvariant")||b.font;return b};
cvox.SemanticTree.prototype.makeBranchNode_=function(a,b,c,d){var e=this.createNode_();d&&e.updateContent_(d);e.type=a;e.childNodes=b;e.contentNodes=c;b.concat(c).forEach(function(a){a.parent=e;e.addMathmlNodes_(a.mathml)});return e};cvox.SemanticTree.prototype.makeImplicitNode_=function(a){if(1==a.length)return a[0];var b=this.createNode_();b.updateContent_(cvox.SemanticAttr.invisibleTimes());a=this.makeInfixNode_(a,b);a.role=cvox.SemanticAttr.Role.IMPLICIT;return a};
cvox.SemanticTree.prototype.makeInfixNode_=function(a,b){return this.makeBranchNode_(cvox.SemanticAttr.Type.INFIXOP,a,[b],b.textContent)};cvox.SemanticTree.prototype.makeConcatNode_=function(a,b,c){if(0==b.length)return a;var d=b.map(function(a){return a.textContent}).join(" ");a=this.makeBranchNode_(c,[a],b,d);0<b.length&&(a.role=cvox.SemanticAttr.Role.MULTIOP);return a};
cvox.SemanticTree.prototype.makePrefixNode_=function(a,b){for(var c=cvox.SemanticTree.partitionNodes_(b,cvox.SemanticTree.attrPred_("role","SUBTRACTION")),d=this.makeConcatNode_(a,c.comp.pop(),cvox.SemanticAttr.Type.PREFIXOP);0<c.rel.length;)d=this.makeConcatNode_(d,[c.rel.pop()],cvox.SemanticAttr.Type.PREFIXOP),d.role=cvox.SemanticAttr.Role.NEGATIVE,d=this.makeConcatNode_(d,c.comp.pop(),cvox.SemanticAttr.Type.PREFIXOP);return d};
cvox.SemanticTree.prototype.makePostfixNode_=function(a,b){return this.makeConcatNode_(a,b,cvox.SemanticAttr.Type.POSTFIXOP)};cvox.SemanticTree.prototype.processRow_=function(a){if(0==a.length)return this.makeEmptyNode_();a=this.getFencesInRow_(a);a=this.processTablesInRow_(a);a=this.getPunctuationInRow_(a);a=this.getFunctionsInRow_(a);return this.processRelationsInRow_(a)};
cvox.SemanticTree.prototype.processRelationsInRow_=function(a){var b=cvox.SemanticTree.partitionNodes_(a,cvox.SemanticTree.attrPred_("type","RELATION")),c=b.rel[0];if(!c)return this.processOperationsInRow_(a);if(1==a.length)return a[0];a=b.comp.map(goog.bind(this.processOperationsInRow_,this));return b.rel.every(function(a){return a.textContent==c.textContent})?this.makeBranchNode_(cvox.SemanticAttr.Type.RELSEQ,a,b.rel,c.textContent):this.makeBranchNode_(cvox.SemanticAttr.Type.MULTIREL,a,b.rel)};
cvox.SemanticTree.prototype.processOperationsInRow_=function(a){if(0==a.length)return this.makeEmptyNode_();if(1==a.length)return a[0];for(var b=[];0<a.length&&a[0].type==cvox.SemanticAttr.Type.OPERATOR;)b.push(a.shift());if(0==a.length)return this.makePrefixNode_(b.pop(),b);if(1==a.length)return this.makePrefixNode_(a[0],b);a=cvox.SemanticTree.sliceNodes_(a,cvox.SemanticTree.attrPred_("type","OPERATOR"));b=this.makePrefixNode_(this.makeImplicitNode_(a.head),b);return a.div?this.makeOperationsTree_(a.tail,
b,a.div):b};
cvox.SemanticTree.prototype.makeOperationsTree_=function(a,b,c,d){d=d||[];if(0==a.length)return d.unshift(c),b.type==cvox.SemanticAttr.Type.INFIXOP?(d=this.makePostfixNode_(b.childNodes.pop(),d),b.appendChild_(d),b):this.makePostfixNode_(b,d);a=cvox.SemanticTree.sliceNodes_(a,cvox.SemanticTree.attrPred_("type","OPERATOR"));if(0==a.head.length)return d.push(a.div),this.makeOperationsTree_(a.tail,b,c,d);d=this.makePrefixNode_(this.makeImplicitNode_(a.head),d);b=this.appendOperand_(b,c,d);return a.div?
this.makeOperationsTree_(a.tail,b,a.div,[]):b};cvox.SemanticTree.prototype.appendOperand_=function(a,b,c){return a.type!=cvox.SemanticAttr.Type.INFIXOP?this.makeInfixNode_([a,c],b):this.appendExistingOperator_(a,b,c)?a:b.role==cvox.SemanticAttr.Role.MULTIPLICATION?this.appendMultiplicativeOp_(a,b,c):this.appendAdditiveOp_(a,b,c)};
cvox.SemanticTree.prototype.appendMultiplicativeOp_=function(a,b,c){for(var d=a,e=a.childNodes[a.childNodes.length-1];e&&e.type==cvox.SemanticAttr.Type.INFIXOP;)d=e,e=d.childNodes[a.childNodes.length-1];b=this.makeInfixNode_([d.childNodes.pop(),c],b);d.appendChild_(b);return a};cvox.SemanticTree.prototype.appendAdditiveOp_=function(a,b,c){return this.makeInfixNode_([a,c],b)};
cvox.SemanticTree.prototype.appendExistingOperator_=function(a,b,c){if(!a||a.type!=cvox.SemanticAttr.Type.INFIXOP)return!1;if(a.textContent==b.textContent)return a.appendContentNode_(b),a.appendChild_(c),!0;this.appendExistingOperator_(a.childNodes[a.childNodes.length-1],b,c)};cvox.SemanticTree.prototype.getFencesInRow_=function(a){a=cvox.SemanticTree.partitionNodes_(a,cvox.SemanticTree.attrPred_("type","FENCE"));var b=a.comp.shift();return this.processFences_(a.rel,a.comp,[],[b])};
cvox.SemanticTree.prototype.processFences_=function(a,b,c,d){if(0==a.length&&0==c.length)return d[0];var e=cvox.SemanticTree.attrPred_("role","OPEN");if(0==a.length){for(a=d.shift();0<c.length;){if(e(c[0]))b=c.shift(),cvox.SemanticTree.fenceToPunct_(b),a.push(b);else{c=cvox.SemanticTree.sliceNodes_(c,e);var f=c.head.length-1,g=this.processNeutralFences_(c.head,d.slice(0,f));d=d.slice(f);a.push.apply(a,g);c.div&&c.tail.unshift(c.div);c=c.tail}a.push.apply(a,d.shift())}return a}f=c[c.length-1];g=a[0].role;
if(g==cvox.SemanticAttr.Role.OPEN||g==cvox.SemanticAttr.Role.NEUTRAL&&(!f||a[0].textContent!=f.textContent))return c.push(a.shift()),d.push(b.shift()),this.processFences_(a,b,c,d);if(f&&(g==cvox.SemanticAttr.Role.CLOSE&&f.role==cvox.SemanticAttr.Role.OPEN||g==cvox.SemanticAttr.Role.NEUTRAL&&a[0].textContent==f.textContent))return e=this.makeHorizontalFencedNode_(c.pop(),a.shift(),d.pop()),d.push(d.pop().concat([e],b.shift())),this.processFences_(a,b,c,d);if(f&&g==cvox.SemanticAttr.Role.CLOSE&&f.role==
cvox.SemanticAttr.Role.NEUTRAL&&c.some(e))return c=cvox.SemanticTree.sliceNodes_(c,e,!0),e=d.pop(),f=d.length-c.tail.length+1,g=this.processNeutralFences_(c.tail,d.slice(f)),d=d.slice(0,f),e=this.makeHorizontalFencedNode_(c.div,a.shift(),d.pop().concat(g,e)),d.push(d.pop().concat([e],b.shift())),this.processFences_(a,b,c.head,d);e=a.shift();cvox.SemanticTree.fenceToPunct_(e);d.push(d.pop().concat([e],b.shift()));return this.processFences_(a,b,c,d)};
cvox.SemanticTree.prototype.processNeutralFences_=function(a,b){if(0==a.length)return a;if(1==a.length)return cvox.SemanticTree.fenceToPunct_(a[0]),a;var c=a.shift(),d=cvox.SemanticTree.sliceNodes_(a,function(a){return a.textContent==c.textContent});if(!d.div){cvox.SemanticTree.fenceToPunct_(c);var e=b.shift();e.unshift(c);return e.concat(this.processNeutralFences_(a,b))}var f=this.combineFencedContent_(c,d.div,d.head,b);return 0<d.tail.length?(e=f.shift(),d=this.processNeutralFences_(d.tail,f),e.concat(d)):
f[0]};cvox.SemanticTree.prototype.combineFencedContent_=function(a,b,c,d){if(0==c.length)return a=this.makeHorizontalFencedNode_(a,b,d.shift()),d.unshift(a),d;var e=d.shift(),f=c.length-1,g=d.slice(0,f);d=d.slice(f);f=d.shift();c=this.processNeutralFences_(c,g);e.push.apply(e,c);e.push.apply(e,f);a=this.makeHorizontalFencedNode_(a,b,e);0<d.length?d[0].unshift(a):d=[[a]];return d};
cvox.SemanticTree.fenceToPunct_=function(a){a.type=cvox.SemanticAttr.Type.PUNCTUATION;switch(a.role){case cvox.SemanticAttr.Role.NEUTRAL:a.role=cvox.SemanticAttr.Role.VBAR;break;case cvox.SemanticAttr.Role.OPEN:a.role=cvox.SemanticAttr.Role.OPENFENCE;break;case cvox.SemanticAttr.Role.CLOSE:a.role=cvox.SemanticAttr.Role.CLOSEFENCE}};
cvox.SemanticTree.prototype.makeHorizontalFencedNode_=function(a,b,c){c=this.processRow_(c);b=this.makeBranchNode_(cvox.SemanticAttr.Type.FENCED,[c],[a,b]);b.role=a.role==cvox.SemanticAttr.Role.OPEN?cvox.SemanticAttr.Role.LEFTRIGHT:a.role;return b};
cvox.SemanticTree.prototype.getPunctuationInRow_=function(a){var b=cvox.SemanticTree.partitionNodes_(a,function(a){return cvox.SemanticTree.attrPred_("type","PUNCTUATION")(a)&&!cvox.SemanticTree.attrPred_("role","ELLIPSIS")(a)});if(0==b.rel.length)return a;a=[];var c=b.comp.shift();0<c.length&&a.push(this.processRow_(c));for(var d=0;0<b.comp.length;)a.push(b.rel[d++]),c=b.comp.shift(),0<c.length&&a.push(this.processRow_(c));return[this.makePunctuatedNode_(a,b.rel)]};
cvox.SemanticTree.prototype.makePunctuatedNode_=function(a,b){var c=this.makeBranchNode_(cvox.SemanticAttr.Type.PUNCTUATED,a,b);c.role=1==b.length&&a[0].type==cvox.SemanticAttr.Type.PUNCTUATION?cvox.SemanticAttr.Role.STARTPUNCT:1==b.length&&a[a.length-1].type==cvox.SemanticAttr.Type.PUNCTUATION?cvox.SemanticAttr.Role.ENDPUNCT:cvox.SemanticAttr.Role.SEQUENCE;return c};
cvox.SemanticTree.prototype.makeLimitNode_=function(a,b){var c=b[0],d=cvox.SemanticTree.attrPred_("type","FUNCTION")(c),d=cvox.SemanticTree.attrPred_("type","LARGEOP")(c)||cvox.SemanticTree.attrPred_("type","LIMBOTH")(c)||cvox.SemanticTree.attrPred_("type","LIMLOWER")(c)||cvox.SemanticTree.attrPred_("type","LIMUPPER")(c)||d&&cvox.SemanticTree.attrPred_("role","LIMFUNC")(c),e=cvox.SemanticAttr.Type.UNKNOWN;if(d)switch(a){case "MSUB":case "MUNDER":e=cvox.SemanticAttr.Type.LIMLOWER;break;case "MSUP":case "MOVER":e=
cvox.SemanticAttr.Type.LIMUPPER;break;case "MSUBSUP":case "MUNDEROVER":e=cvox.SemanticAttr.Type.LIMBOTH}else switch(a){case "MSUB":e=cvox.SemanticAttr.Type.SUBSCRIPT;break;case "MSUP":e=cvox.SemanticAttr.Type.SUPERSCRIPT;break;case "MSUBSUP":d=this.makeBranchNode_(cvox.SemanticAttr.Type.SUBSCRIPT,[c,b[1]],[]);d.role=c.role;b=[d,b[2]];e=cvox.SemanticAttr.Type.SUPERSCRIPT;break;case "MOVER":e=cvox.SemanticAttr.Type.OVERSCORE;break;case "MUNDER":e=cvox.SemanticAttr.Type.UNDERSCORE;break;default:d=this.makeBranchNode_(cvox.SemanticAttr.Type.UNDERSCORE,
[c,b[1]],[]),d.role=c.role,b=[d,b[2]],e=cvox.SemanticAttr.Type.OVERSCORE}d=this.makeBranchNode_(e,b,[]);d.role=c.role;return d};cvox.SemanticTree.prototype.getFunctionsInRow_=function(a,b){b=b||[];if(0==a.length)return b;var c=a.shift(),d=cvox.SemanticTree.classifyFunction_(c,a);if(!d)return b.push(c),this.getFunctionsInRow_(a,b);var e=this.getFunctionsInRow_(a,[]),c=this.getFunctionArgs_(c,e,d);return b.concat(c)};
cvox.SemanticTree.classifyFunction_=function(a,b){if(a.type==cvox.SemanticAttr.Type.APPL||a.type==cvox.SemanticAttr.Type.BIGOP||a.type==cvox.SemanticAttr.Type.INTEGRAL)return"";if(b[0]&&b[0].textContent==cvox.SemanticAttr.functionApplication())return b.shift(),cvox.SemanticTree.propagatePrefixFunc_(a),"prefix";switch(a.role){case cvox.SemanticAttr.Role.INTEGRAL:return"integral";case cvox.SemanticAttr.Role.SUM:return"bigop";case cvox.SemanticAttr.Role.PREFIXFUNC:case cvox.SemanticAttr.Role.LIMFUNC:return"prefix";
default:if(a.type==cvox.SemanticAttr.Type.IDENTIFIER)return"simple"}return""};cvox.SemanticTree.propagatePrefixFunc_=function(a){a&&(a.role=cvox.SemanticAttr.Role.PREFIXFUNC,cvox.SemanticTree.propagatePrefixFunc_(a.childNodes[0]))};
cvox.SemanticTree.prototype.getFunctionArgs_=function(a,b,c){switch(c){case "integral":return b=this.getIntegralArgs_(b),c=this.processRow_(b.integrand),a=this.makeIntegralNode_(a,c,b.intvar),b.rest.unshift(a),b.rest;case "prefix":if(b[0]&&b[0].type==cvox.SemanticAttr.Type.FENCED)return a=this.makeFunctionNode_(a,b.shift()),b.unshift(a),b;case "bigop":b=cvox.SemanticTree.sliceNodes_(b,cvox.SemanticTree.prefixFunctionBoundary_);var d=this.processRow_(b.head);a="prefix"==c?this.makeFunctionNode_(a,
d):this.makeBigOpNode_(a,d);b.div&&b.tail.unshift(b.div);b.tail.unshift(a);return b.tail;case "simple":if(0==b.length)return[a];c=b[0];if(c.type==cvox.SemanticAttr.Type.FENCED&&c.role!=cvox.SemanticAttr.Role.NEUTRAL&&this.simpleFunctionHeuristic_(c))return a=this.makeFunctionNode_(a,b.shift()),b.unshift(a),b;b.unshift(a);return b}};
cvox.SemanticTree.prototype.getIntegralArgs_=function(a,b){b=b||[];if(0==a.length)return{integrand:b,intvar:null,rest:a};var c=a[0];if(cvox.SemanticTree.generalFunctionBoundary_(c))return{integrand:b,intvar:null,rest:a};if(cvox.SemanticTree.integralDxBoundarySingle_(c))return{integrand:b,intvar:c,rest:a.slice(1)};if(a[1]&&cvox.SemanticTree.integralDxBoundary_(c,a[1])){var d=this.createNode_();d.updateContent_(cvox.SemanticAttr.invisibleComma());c=this.makePunctuatedNode_([c,d,a[1]],[d]);c.role=cvox.SemanticAttr.Role.INTEGRAL;
return{integrand:b,intvar:c,rest:a.slice(2)}}b.push(a.shift());return this.getIntegralArgs_(a,b)};cvox.SemanticTree.prototype.makeFunctionNode_=function(a,b){var c=this.createNode_();c.updateContent_(cvox.SemanticAttr.functionApplication());c.type=cvox.SemanticAttr.Type.PUNCTUATION;c.role=cvox.SemanticAttr.Role.APPLICATION;c=this.makeBranchNode_(cvox.SemanticAttr.Type.APPL,[a,b],[c]);c.role=a.role;return c};
cvox.SemanticTree.prototype.makeBigOpNode_=function(a,b){var c=this.makeBranchNode_(cvox.SemanticAttr.Type.BIGOP,[a,b],[]);c.role=a.role;return c};cvox.SemanticTree.prototype.makeIntegralNode_=function(a,b,c){b=b||this.makeEmptyNode_();c=c||this.makeEmptyNode_();b=this.makeBranchNode_(cvox.SemanticAttr.Type.INTEGRAL,[a,b,c],[]);b.role=a.role;return b};
cvox.SemanticTree.prototype.simpleFunctionHeuristic_=function(a){a=a.childNodes;if(0==a.length)return!0;if(1<a.length)return!1;a=a[0];return a.type!=cvox.SemanticAttr.Type.INFIXOP||a.role==cvox.SemanticAttr.Role.IMPLICIT&&!a.childNodes.some(cvox.SemanticTree.attrPred_("type","INFIXOP"))?!0:!1};cvox.SemanticTree.prefixFunctionBoundary_=function(a){return cvox.SemanticTree.attrPred_("type","OPERATOR")(a)||cvox.SemanticTree.generalFunctionBoundary_(a)};
cvox.SemanticTree.integralDxBoundary_=function(a,b){return!!b&&cvox.SemanticTree.attrPred_("type","IDENTIFIER")(b)&&cvox.SemanticAttr.isCharacterD(a.textContent)};cvox.SemanticTree.integralDxBoundarySingle_=function(a){if(cvox.SemanticTree.attrPred_("type","IDENTIFIER")(a)){var b=a.textContent[0];return b&&a.textContent[1]&&cvox.SemanticAttr.isCharacterD(b)}return!1};
cvox.SemanticTree.generalFunctionBoundary_=function(a){return cvox.SemanticTree.attrPred_("type","RELATION")(a)||cvox.SemanticTree.attrPred_("type","PUNCTUATION")(a)};
cvox.SemanticTree.prototype.processTablesInRow_=function(a){a=cvox.SemanticTree.partitionNodes_(a,cvox.SemanticTree.tableIsMatrixOrVector_);for(var b=[],c=0,d;d=a.rel[c];c++)b=b.concat(a.comp.shift()),b.push(this.tableToMatrixOrVector_(d));b=b.concat(a.comp.shift());a=cvox.SemanticTree.partitionNodes_(b,cvox.SemanticTree.isTableOrMultiline_);b=[];for(c=0;d=a.rel[c];c++){var e=a.comp.shift();cvox.SemanticTree.tableIsCases_(d,e)&&this.tableToCases_(d,e.pop());b=b.concat(e);b.push(d)}return b.concat(a.comp.shift())};
cvox.SemanticTree.isTableOrMultiline_=function(a){return!!a&&(cvox.SemanticTree.attrPred_("type","TABLE")(a)||cvox.SemanticTree.attrPred_("type","MULTILINE")(a))};cvox.SemanticTree.tableIsMatrixOrVector_=function(a){return!!a&&cvox.SemanticTree.attrPred_("type","FENCED")(a)&&cvox.SemanticTree.attrPred_("role","LEFTRIGHT")(a)&&1==a.childNodes.length&&cvox.SemanticTree.isTableOrMultiline_(a.childNodes[0])};
cvox.SemanticTree.prototype.tableToMatrixOrVector_=function(a){var b=a.childNodes[0],c=cvox.SemanticTree.attrPred_("type","MULTILINE")(b)?"VECTOR":"MATRIX";b.type=cvox.SemanticAttr.Type[c];a.contentNodes.forEach(goog.bind(b.appendContentNode_,b));a=0;for(var d;d=b.childNodes[a];a++)cvox.SemanticTree.assignRoleToRow_(d,cvox.SemanticAttr.Role[c]);return b};cvox.SemanticTree.tableIsCases_=function(a,b){return 0<b.length&&cvox.SemanticTree.attrPred_("role","OPENFENCE")(b[b.length-1])};
cvox.SemanticTree.prototype.tableToCases_=function(a,b){for(var c=0,d;d=a.childNodes[c];c++)cvox.SemanticTree.assignRoleToRow_(d,cvox.SemanticAttr.Role.CASES);a.type=cvox.SemanticAttr.Type.CASES;a.appendContentNode_(b);return a};cvox.SemanticTree.tableIsMultiline_=function(a){return a.childNodes.every(function(a){a=a.childNodes.length;return 1>=a})};
cvox.SemanticTree.prototype.tableToMultiline_=function(a){a.type=cvox.SemanticAttr.Type.MULTILINE;for(var b=0,c;c=a.childNodes[b];b++)cvox.SemanticTree.rowToLine_(c,cvox.SemanticAttr.Role.MULTILINE)};cvox.SemanticTree.rowToLine_=function(a,b){b=b||cvox.SemanticAttr.Role.UNKNOWN;cvox.SemanticTree.attrPred_("type","ROW")(a)&&1==a.childNodes.length&&cvox.SemanticTree.attrPred_("type","CELL")(a.childNodes[0])&&(a.type=cvox.SemanticAttr.Type.LINE,a.role=b,a.childNodes=a.childNodes[0].childNodes)};
cvox.SemanticTree.assignRoleToRow_=function(a,b){if(cvox.SemanticTree.attrPred_("type","LINE")(a))a.role=b;else if(cvox.SemanticTree.attrPred_("type","ROW")(a)){a.role=b;var c=cvox.SemanticTree.attrPred_("type","CELL");a.childNodes.forEach(function(a){c(a)&&(a.role=b)})}};
cvox.SemanticTree.sliceNodes_=function(a,b,c){c&&a.reverse();for(var d=[],e=0,f;f=a[e];e++){if(b(f))return c?{head:a.slice(e+1).reverse(),div:f,tail:d.reverse()}:{head:d,div:f,tail:a.slice(e+1)};d.push(f)}return c?{head:[],div:null,tail:d.reverse()}:{head:d,div:null,tail:[]}};cvox.SemanticTree.partitionNodes_=function(a,b){var c=a,d=[],e=[];do{var f=cvox.SemanticTree.sliceNodes_(c,b);e.push(f.head);d.push(f.div);c=f.tail}while(f.div);d.pop();return{rel:d,comp:e}};
cvox.SemanticTree.attrPred_=function(a,b){return function(c){var d;o:{switch(a){case "type":d=cvox.SemanticAttr.Type[b];break o;case "role":d=cvox.SemanticAttr.Role[b];break o;case "font":d=cvox.SemanticAttr.Font[b];break o}d=void 0}return c[a]==d}};cvox.TraverseMath=function(){this.activeNode=this.activeMath=null;this.allTexs_={};this.allMathjaxs_={};this.activeMathmlHost=null;this.allDomains=[];this.allStyles=[];this.domain="default";this.style="short";cvox.ChromeVox.mathJax&&(this.initializeMathjaxs(),this.initializeAltMaths())};goog.addSingletonGetter(cvox.TraverseMath);cvox.TraverseMath.setSemantic_=!1;cvox.TraverseMath.toggleSemantic=function(){return cvox.TraverseMath.setSemantic_=!cvox.TraverseMath.setSemantic_};
cvox.TraverseMath.prototype.initialize=function(a){if(cvox.DomUtil.isMathImg(a)){if(!a.hasAttribute("cvoxid"))return;a=a.getAttribute("cvoxid");a=this.allTexs_[a]}cvox.DomUtil.isMathJax(a)&&(this.activeMathmlHost=this.allMathjaxs_[a.getAttribute("id")]);this.activeMath=this.activeMathmlHost||a;(this.activeNode=this.activeMathmlHost||a)&&cvox.TraverseMath.setSemantic_&&this.activeNode.nodeType==Node.ELEMENT_NODE&&(this.activeNode=(new cvox.SemanticTree(this.activeNode)).xml())};
cvox.TraverseMath.prototype.addMathjax=function(a,b){var c=cvox.DomUtil.getMathSpanId(b);c?this.allMathjaxs_[c]=a:this.redoMathjaxs(a,b)};cvox.TraverseMath.prototype.redoMathjaxs=function(a,b){var c=goog.bind(function(){this.addMathjax(a,b)},this);setTimeout(c,500)};cvox.TraverseMath.prototype.initializeMathjaxs=function(){goog.bind(function(a,b){this.addMathjax(a,b)},this)};
cvox.TraverseMath.prototype.initializeAltMaths=function(){document.querySelector(cvox.DomUtil.altMathQuerySelector("tex")+", "+cvox.DomUtil.altMathQuerySelector("asciimath"))&&goog.bind(function(a,b){this.allTexs_[b]=a},this)};cvox.TraverseMath.prototype.nextSibling=function(a){if(!this.activeNode||!this.activeMath)return null;var b=this.activeNode,b=a?b.previousSibling:b.nextSibling;return b?this.activeNode=b:null};
cvox.TraverseMath.prototype.nextParentChild=function(a){if(!this.activeNode||!this.activeMath||this.activeNode==this.activeMath&&a)return null;var b=this.activeNode,b=a?b.parentNode:b.firstChild;return b?this.activeNode=b:null};
cvox.TraverseMath.prototype.addDomainsAndStyles=function(a,b){this.allDomains.push.apply(this.allDomains,a.filter(goog.bind(function(a){return 0>this.allDomains.indexOf(a)},this)));this.allStyles.push.apply(this.allStyles,b.filter(goog.bind(function(a){return 0>this.allStyles.indexOf(a)},this)))};cvox.TraverseMath.prototype.getAttachedActiveNode=function(){var a=this.activeNode;if(!a||a.nodeType!=Node.ELEMENT_NODE)return null;a=a.getAttribute("spanID");return document.getElementById(a)};cvox.MathUtil={};cvox.MathUtil.isMathmlNodeOfClass_=function(a,b){return-1!=b.indexOf(a.tagName.toUpperCase())};cvox.MathUtil.isMathjaxNodeOfClass_=function(a,b){if("SPAN"==a.tagName){var c=a.className.split(" ");return c.some(function(a){return-1!=b.indexOf(a.toUpperCase())})}return!1};cvox.MathUtil.isMathNodeOfClass_=function(a,b){return a.nodeType==Node.ELEMENT_NODE&&(cvox.MathUtil.isMathmlNodeOfClass_(a,b)||cvox.MathUtil.isMathjaxNodeOfClass_(a,b))};cvox.MathUtil.TOKEN_LIST="MI MN MO MTEXT MSPACE MS".split(" ");
cvox.MathUtil.isToken=function(a){return cvox.MathUtil.isMathNodeOfClass_(a,cvox.MathUtil.TOKEN_LIST)};cvox.MathUtil.LAYOUT_LIST="MROW MFRAC MSQRT MROOT MSTYLE MERROR MPADDED MPHANTOM MFENCED MENCLOSE".split(" ");cvox.MathUtil.isLayout=function(a){return cvox.MathUtil.isMathNodeOfClass_(a,cvox.MathUtil.LAYOUT_LIST)};cvox.MathUtil.SCRIPT_LIST="MSUB MSUP MSUBSUP MUNDER MOVER MUNDEROVER MMULTISCRIPTS MPRESCRIPTS".split(" ");
cvox.MathUtil.isScript=function(a){return cvox.MathUtil.isMathNodeOfClass_(a,cvox.MathUtil.SCRIPT_LIST)};cvox.MathUtil.TABLES_LIST="MTABLE MLABELEDTR MTR MTD MALIGNGROUP MALIGNMARK".split(" ");cvox.MathUtil.isTables=function(a){return cvox.MathUtil.isMathNodeOfClass_(a,cvox.MathUtil.TABLES_LIST)};cvox.MathUtil.ELEMENTARY_LIST="MSTACK MLONGDIV MSGROUP MSROW MSCARRIES MSCARRY MSLINE".split(" ");cvox.MathUtil.isElementary=function(a){return cvox.MathUtil.isMathNodeOfClass_(a,cvox.MathUtil.ELEMENTARY_LIST)};
cvox.MathUtil.MATHML_TAG_LIST=[cvox.MathUtil.TOKEN_LIST,cvox.MathUtil.LAYOUT_LIST,cvox.MathUtil.SCRIPT_LIST,cvox.MathUtil.TABLES_LIST,cvox.MathUtil.ELEMENTARY_LIST].reduce(function(a,b){return a.concat(b)});cvox.MathUtil.isMathmlTag=function(a){return cvox.MathUtil.isMathNodeOfClass_(a,cvox.MathUtil.MATHML_TAG_LIST)};cvox.MathUtil.WHITESPACE_LIST=["MSROW","MROW","MSPACE","MPHANTOM","MPADDED"];cvox.MathUtil.isWhitespace=function(a){return cvox.MathUtil.isMathNodeOfClass_(a,cvox.MathUtil.WHITESPACE_LIST)};
cvox.MathUtil.isNotWhitespace=function(a){return cvox.MathUtil.isMathmlTag(a)&&!cvox.MathUtil.isWhitespace(a)};cvox.MathUtil.union=function(a,b){return a.concat(b.filter(function(b){return 0>a.indexOf(b)}))};cvox.SpeechRule=function(a,b,c,d){this.name=a;this.dynamicCstr=b;this.precondition=c;this.action=d};cvox.SpeechRule.prototype.toString=function(){var a=[],b;for(b in this.dynamicCstr)a.push(this.dynamicCstr[b]);return this.name+" | "+a.join(".")+" | "+this.precondition.toString()+" ==> "+this.action.toString()};cvox.SpeechRule.Type={NODE:"NODE",MULTI:"MULTI",TEXT:"TEXT",PERSONALITY:"PERSONALITY"};
cvox.SpeechRule.Type.fromString=function(a){switch(a){case "[n]":return cvox.SpeechRule.Type.NODE;case "[m]":return cvox.SpeechRule.Type.MULTI;case "[t]":return cvox.SpeechRule.Type.TEXT;case "[p]":return cvox.SpeechRule.Type.PERSONALITY;default:throw"Parse error: "+a;}};
cvox.SpeechRule.Type.toString=function(a){switch(a){case cvox.SpeechRule.Type.NODE:return"[n]";case cvox.SpeechRule.Type.MULTI:return"[m]";case cvox.SpeechRule.Type.TEXT:return"[t]";case cvox.SpeechRule.Type.PERSONALITY:return"[p]";default:throw"Unknown type error: "+a;}};cvox.SpeechRule.Component=function(a){this.type=a.type;this.content=a.content};
cvox.SpeechRule.Component.fromString=function(a){var b={};b.type=cvox.SpeechRule.Type.fromString(a.substring(0,3));a=a.slice(3).trimLeft();if(!a)throw new cvox.SpeechRule.OutputError("Missing content.");switch(b.type){case cvox.SpeechRule.Type.TEXT:if('"'==a[0]){var c=cvox.SpeechRule.splitString_(a,"\\(")[0].trim();if('"'!=c.slice(-1))throw new cvox.SpeechRule.OutputError("Invalid string syntax.");b.content=c;a=a.slice(c.length).trim();-1==a.indexOf("(")&&(a="");break}case cvox.SpeechRule.Type.NODE:case cvox.SpeechRule.Type.MULTI:c=
a.indexOf(" (");if(-1==c){b.content=a.trim();a="";break}b.content=a.substring(0,c).trim();a=a.slice(c).trimLeft()}b=new cvox.SpeechRule.Component(b);a&&b.addAttributes(a);return b};cvox.SpeechRule.Component.prototype.toString=function(){var a="",a=a+cvox.SpeechRule.Type.toString(this.type),a=a+(this.content?" "+this.content:""),b=this.getAttributes();0<b.length&&(a+=" ("+b.join(", ")+")");return a};
cvox.SpeechRule.Component.prototype.addAttribute=function(a){var b=a.indexOf(":");-1==b?this[a.trim()]="true":this[a.substring(0,b).trim()]=a.slice(b+1).trim()};cvox.SpeechRule.Component.prototype.addAttributes=function(a){if("("!=a[0]||")"!=a.slice(-1))throw new cvox.SpeechRule.OutputError("Invalid attribute expression: "+a);a=cvox.SpeechRule.splitString_(a.slice(1,-1),",");for(var b=0;b<a.length;b++)this.addAttribute(a[b])};
cvox.SpeechRule.Component.prototype.getAttributes=function(){var a=[],b;for(b in this)"content"!=b&&"type"!=b&&"function"!=typeof this[b]&&a.push(b+":"+this[b]);return a};cvox.SpeechRule.Action=function(a){this.components=a};cvox.SpeechRule.Action.fromString=function(a){a=cvox.SpeechRule.splitString_(a,";").filter(function(a){return a.match(/\S/)}).map(function(a){return a.trim()});for(var b=[],c=0;c<a.length;c++){var d=cvox.SpeechRule.Component.fromString(a[c]);d&&b.push(d)}return new cvox.SpeechRule.Action(b)};
cvox.SpeechRule.Action.prototype.toString=function(){var a=this.components.map(function(a){return a.toString()});return a.join("; ")};cvox.SpeechRule.Precondition=function(a,b){this.query=a;this.constraints=b||[]};cvox.SpeechRule.Precondition.prototype.toString=function(){var a=this.constraints.join(", ");return this.query+", "+a};
cvox.SpeechRule.splitString_=function(a,b){for(var c=[],d="";""!=a;){var e=a.search(b);if(-1==e){if(0!=(a.match(/"/g)||[]).length%2)throw new cvox.SpeechRule.OutputError("Invalid string in expression: "+a);c.push(d+a);a=d=""}else if(0==(a.substring(0,e).match(/"/g)||[]).length%2)c.push(d+a.substring(0,e)),d="",a=a.substring(e+1);else{var f=a.substring(e).search('"');if(-1==f)throw new cvox.SpeechRule.OutputError("Invalid string in expression: "+a);d+=a.substring(0,e+f+1);a=a.substring(e+f+1)}}d&&
c.push(d);return c};cvox.SpeechRule.DynamicCstrAttrib={STYLE:"style"};cvox.SpeechRule.OutputError=function(a){this.name="RuleError";this.message=a||""};goog.inherits(cvox.SpeechRule.OutputError,Error);cvox.SpeechRuleFunctions=function(){};cvox.SpeechRuleFunctions.Store_=function(a,b){this.prefix_=a;this.store_=b};cvox.SpeechRuleFunctions.Store_.prototype.add=function(a,b){this.checkCustomFunctionSyntax_(a)&&(this.store_[a]=b)};cvox.SpeechRuleFunctions.Store_.prototype.lookup=function(a){return this.store_[a]};cvox.SpeechRuleFunctions.CustomQueries=function(){var a={};cvox.SpeechRuleFunctions.Store_.call(this,"CQF",a)};goog.inherits(cvox.SpeechRuleFunctions.CustomQueries,cvox.SpeechRuleFunctions.Store_);
cvox.SpeechRuleFunctions.CustomStrings=function(){var a={};cvox.SpeechRuleFunctions.Store_.call(this,"CSF",a)};goog.inherits(cvox.SpeechRuleFunctions.CustomStrings,cvox.SpeechRuleFunctions.Store_);cvox.SpeechRuleFunctions.ContextFunctions=function(){var a={};cvox.SpeechRuleFunctions.Store_.call(this,"CTXF",a)};goog.inherits(cvox.SpeechRuleFunctions.ContextFunctions,cvox.SpeechRuleFunctions.Store_);
cvox.SpeechRuleFunctions.Store_.prototype.checkCustomFunctionSyntax_=function(a){var b=RegExp("^"+this.prefix_);return a.match(b)?!0:(console.log("FunctionError: Invalid function name. Expected prefix"+this.prefix_),!1)};cvox.BaseRuleStore=function(){this.customQueries=new cvox.SpeechRuleFunctions.CustomQueries;this.customStrings=new cvox.SpeechRuleFunctions.CustomStrings;this.contextFunctions=new cvox.SpeechRuleFunctions.ContextFunctions;this.speechRules_=[];this.dynamicCstrAttribs=[cvox.SpeechRule.DynamicCstrAttrib.STYLE];this.defaultTtsProps=[]};
cvox.BaseRuleStore.prototype.lookupRule=function(a,b){if(!a||a.nodeType!=Node.ELEMENT_NODE&&a.nodeType!=Node.TEXT_NODE)return null;var c=this.speechRules_.filter(goog.bind(function(c){return this.testDynamicConstraints(b,c)&&this.testPrecondition_(a,c)},this));return 0<c.length?this.pickMostConstraint_(b,c):null};
cvox.BaseRuleStore.prototype.defineRule=function(a,b,c,d,e){try{var f=cvox.SpeechRule.Action.fromString(c),g=Array.prototype.slice.call(arguments,4),h=new cvox.SpeechRule.Precondition(d,g),g={};g[cvox.SpeechRule.DynamicCstrAttrib.STYLE]=b;var k=new cvox.SpeechRule(a,g,h,f)}catch(l){if("RuleError"==l.name)return console.log("Rule Error ",d,"("+b+"):",l.message),null;throw l;}this.addRule(k);return k};cvox.BaseRuleStore.prototype.addRule=function(a){this.speechRules_.unshift(a)};
cvox.BaseRuleStore.prototype.deleteRule=function(a){a=this.speechRules_.indexOf(a);-1!=a&&this.speechRules_.splice(a,1)};cvox.BaseRuleStore.prototype.findRule=function(a){for(var b=0,c;c=this.speechRules_[b];b++)if(a(c))return c;return null};cvox.BaseRuleStore.prototype.findAllRules=function(a){return this.speechRules_.filter(a)};cvox.BaseRuleStore.prototype.evaluateDefault=function(a){return[new cvox.NavDescription({text:a.textContent})]};
cvox.BaseRuleStore.prototype.removeDuplicates=function(a){for(var b=this.speechRules_.length-1,c;c=this.speechRules_[b];b--)c!=a&&cvox.BaseRuleStore.compareDynamicConstraints_(c.dynamicCstr,a.dynamicCstr)&&cvox.BaseRuleStore.comparePreconditions_(c,a)&&this.speechRules_.splice(b,1)};cvox.BaseRuleStore.prototype.applyCustomQuery=function(a,b){var c=this.customQueries.lookup(b);return c?c(a):null};
cvox.BaseRuleStore.prototype.applySelector=function(a,b){var c=this.applyCustomQuery(a,b);return c||cvox.XpathUtil.evalXPath(b,a)};cvox.BaseRuleStore.prototype.applyQuery=function(a,b){var c=this.applySelector(a,b);return 0<c.length?c[0]:null};cvox.BaseRuleStore.prototype.applyConstraint=function(a,b){var c=this.applyQuery(a,b);return!!c||cvox.XpathUtil.evaluateBoolean(b,a)};
cvox.BaseRuleStore.prototype.testDynamicConstraints=function(a,b){var c=Object.keys(a);return c.every(function(c){return a[c]==b.dynamicCstr[c]||"default"==b.dynamicCstr[c]})};cvox.BaseRuleStore.prototype.countMatchingDynamicConstraintValues_=function(a,b){for(var c=0,d=0,e;e=this.dynamicCstrAttribs[d];d++)if(a[e]==b.dynamicCstr[e])c++;else break;return c};
cvox.BaseRuleStore.prototype.pickMostConstraint_=function(a,b){b.sort(goog.bind(function(b,d){var e=this.countMatchingDynamicConstraintValues_(a,b),f=this.countMatchingDynamicConstraintValues_(a,d);return e>f?-1:f>e?1:d.precondition.constraints.length-b.precondition.constraints.length},this));return b[0]};
cvox.BaseRuleStore.prototype.testPrecondition_=function(a,b){var c=b.precondition;return this.applyQuery(a,c.query)===a&&c.constraints.every(goog.bind(function(b){return this.applyConstraint(a,b)},this))};cvox.BaseRuleStore.compareDynamicConstraints_=function(a,b){if(Object.keys(a).length!=Object.keys(b).length)return!1;for(var c in a)if(!b[c]||a[c]!==b[c])return!1;return!0};
cvox.BaseRuleStore.compareStaticConstraints_=function(a,b){if(a.length!=b.length)return!1;for(var c=0,d;d=a[c];c++)if(-1==b.indexOf(d))return!1;return!0};cvox.BaseRuleStore.comparePreconditions_=function(a,b){var c=a.precondition,d=b.precondition;return c.query!=d.query?!1:cvox.BaseRuleStore.compareStaticConstraints_(c.constraints,d.constraints)};cvox.MathStore=function(){cvox.BaseRuleStore.call(this);this.dynamicCstrAttribs=[cvox.SpeechRule.DynamicCstrAttrib.DOMAIN,cvox.SpeechRule.DynamicCstrAttrib.STYLE];this.defaultTtsProps=[cvox.AbstractTts.PITCH,cvox.AbstractTts.RATE]};goog.inherits(cvox.MathStore,cvox.BaseRuleStore);cvox.SpeechRule.DynamicCstrAttrib.DOMAIN="domain";
cvox.MathStore.prototype.defineRule=function(a,b,c,d,e){var f=this.parseDynamicConstraint(b),g=Array.prototype.slice.call(arguments,4),g=cvox.MathStore.superClass_.defineRule.apply(this,[a,f[cvox.SpeechRule.DynamicCstrAttrib.STYLE],c,d].concat(g));g.dynamicCstr=f;this.removeDuplicates(g);return g};
cvox.MathStore.prototype.parseDynamicConstraint=function(a){var b=a.split(".");if(!b[0]||!b[1])throw new cvox.SpeechRule.OutputError("Invalid domain assignment:"+a);return cvox.MathStore.createDynamicConstraint(b[0],b[1])};cvox.MathStore.createDynamicConstraint=function(a,b){var c={};c[cvox.SpeechRule.DynamicCstrAttrib.DOMAIN]=a;c[cvox.SpeechRule.DynamicCstrAttrib.STYLE]=b;return c};
cvox.MathStore.prototype.defineRuleAlias=function(a,b,c){var d=this.findRule(function(b){return b.name==a});if(!d)throw new cvox.SpeechRule.OutputError("Rule with named "+a+" does not exist.");this.addAlias_(d,b,Array.prototype.slice.call(arguments,2))};cvox.MathStore.prototype.addAlias_=function(a,b,c){b=new cvox.SpeechRule.Precondition(b,c);b=new cvox.SpeechRule(a.name,a.dynamicCstr,b,a.action);b.name=a.name;this.addRule(b)};cvox.MathStore.prototype.evaluateDefault=function(a){return this.evaluateString_(a.textContent)};
cvox.MathStore.prototype.evaluateString_=function(a){var b=[];if(a.match(/^\s+$/))return b;a=cvox.MathStore.removeEmpty_(a.replace(/\s/g," ").split(" "));for(var c=0,d;d=a[c];c++)if(1==d.length)b.push(this.evaluate_(d));else if(d.match(/^[a-zA-Z]+$/))b.push(this.evaluate_(d));else for(;d;){var e=d.match(/^\d+/),f=d.match(/^[a-zA-Z]+/);e?(b.push(this.evaluate_(e[0])),d=d.substring(e[0].length)):f?(b.push(this.evaluate_(f[0])),d=d.substring(f[0].length)):(e=d[0],e=e.charCodeAt(0),55296<=e&&56319>=e&&
1<d.length&&!isNaN(d.charCodeAt(1))?(b.push(this.evaluate_(d.slice(0,2))),d=d.substring(2)):(b.push(this.evaluate_(d[0])),d=d.substring(1)))}return b};cvox.MathStore.prototype.evaluate_=function(a){return cvox.ChromeVox.host.mathMap?cvox.ChromeVox.host.mathMap.evaluate(a,cvox.TraverseMath.getInstance().domain,cvox.TraverseMath.getInstance().style):new cvox.NavMathDescription({text:a,domain:cvox.TraverseMath.getInstance().domain,style:cvox.TraverseMath.getInstance().style})};
cvox.MathStore.removeEmpty_=function(a){return a.filter(function(a){return a})};cvox.MathmlStore=function(){cvox.MathStore.call(this)};goog.inherits(cvox.MathmlStore,cvox.MathStore);goog.addSingletonGetter(cvox.MathmlStore);cvox.MathmlStore.prototype.defineDefaultMathmlRule=function(a,b){this.defineRule(a,"default.default",b,"self::mathml:"+a)};cvox.SpeechRuleEngine=function(){this.activeStore_=null;this.dynamicCstr={};this.dynamicCstr[cvox.SpeechRule.DynamicCstrAttrib.STYLE]="short"};goog.addSingletonGetter(cvox.SpeechRuleEngine);cvox.SpeechRuleEngine.prototype.parameterize=function(a){try{a.initialize()}catch(b){if("StoreError"==b.name)console.log("Store Error:",b.message);else throw b;}this.activeStore_=a};cvox.SpeechRuleEngine.prototype.setDynamicConstraint=function(a){a&&(this.dynamicCstr=a)};
cvox.SpeechRuleEngine.prototype.constructString=function(a,b){if(!b)return"";if('"'==b.charAt(0))return b.slice(1,-1);var c=this.activeStore_.customStrings.lookup(b);return c?c(a):cvox.XpathUtil.evaluateString(b,a)};cvox.SpeechRuleEngine.prototype.evaluateNode=function(a){return a?this.evaluateTree_(a):[]};
cvox.SpeechRuleEngine.prototype.evaluateTree_=function(a){var b=this.activeStore_.lookupRule(a,this.dynamicCstr);if(!b)return this.activeStore_.evaluateDefault(a);for(var b=b.action.components,c=[],d=0,e;e=b[d];d++){var f=[],g=e.content||"";switch(e.type){case cvox.SpeechRule.Type.NODE:(g=this.activeStore_.applyQuery(a,g))&&(f=this.evaluateTree_(g));break;case cvox.SpeechRule.Type.MULTI:g=this.activeStore_.applySelector(a,g);0<g.length&&(f=this.evaluateNodeList_(g,e.sepFunc,this.constructString(a,
e.separator),e.ctxtFunc,this.constructString(a,e.context)));break;case cvox.SpeechRule.Type.TEXT:(g=this.constructString(a,g))&&(f=[new cvox.NavDescription({text:g})]);break;default:f=[new cvox.NavDescription({text:g})]}f[0]&&e.context&&e.type!=cvox.SpeechRule.Type.MULTI&&(f[0].context=this.constructString(a,e.context)+(f[0].context||""));c=c.concat(this.addPersonality_(f,e))}return c};
cvox.SpeechRuleEngine.prototype.evaluateNodeList_=function(a,b,c,d,e){if(a==[])return[];var f=c||"",g=e||"";c=(c=this.activeStore_.contextFunctions.lookup(d))?c(a,g):function(){return g};b=(b=this.activeStore_.contextFunctions.lookup(b))?b(a,f):function(){return f};d=[];e=0;for(var h;h=a[e];e++)h=this.evaluateTree_(h),0<h.length&&(h[0].context=c()+(h[0].context||""),d=d.concat(h),e<a.length-1&&(h=b())&&d.push(new cvox.NavDescription({text:h})));return d};
cvox.SpeechRuleEngine.propMap={pitch:cvox.AbstractTts.RELATIVE_PITCH,rate:cvox.AbstractTts.RELATIVE_RATE,volume:cvox.AbstractTts.RELATIVE_VOLUME,pause:cvox.AbstractTts.PAUSE};cvox.SpeechRuleEngine.prototype.addPersonality_=function(a,b){var c={},d;for(d in cvox.SpeechRuleEngine.propMap){var e=parseFloat(b[d]);isNaN(e)||(c[cvox.SpeechRuleEngine.propMap[d]]=e)}a.forEach(goog.bind(function(a){this.addRelativePersonality_(a,c);this.resetPersonality_(a)},this));return a};
cvox.SpeechRuleEngine.prototype.addRelativePersonality_=function(a,b){if(!a.personality)return a.personality=b,a;var c=a.personality,d;for(d in b)c[d]=c[d]&&"number"==typeof c[d]?c[d]+b[d]:b[d];return a};cvox.SpeechRuleEngine.prototype.resetPersonality_=function(a){if(this.activeStore_.defaultTtsProps)for(var b=0,c;c=this.activeStore_.defaultTtsProps[b];b++)a.personality[c]=cvox.ChromeVox.tts.getDefaultProperty(c)};cvox.SpeechRuleEngine.debugMode=!1;
cvox.SpeechRuleEngine.outputDebug=function(a){if(cvox.SpeechRuleEngine.debugMode){var b=Array.prototype.slice.call(arguments,0);console.log.apply(console,["Speech Rule Engine Debugger:"].concat(b))}};cvox.SpeechRuleEngine.prototype.toString=function(){var a=this.activeStore_.findAllRules(function(){return!0});return a.map(function(a){return a.toString()}).join("\n")};
cvox.SpeechRuleEngine.debugSpeechRule=function(a,b){var c=cvox.SpeechRuleEngine.getInstance().activeStore_;if(c){var d=a.precondition;cvox.SpeechRuleEngine.outputDebug(d.query,c.applyQuery(b,d.query));d.constraints.forEach(function(a){cvox.SpeechRuleEngine.outputDebug(a,c.applyConstraint(b,a))})}};
cvox.SpeechRuleEngine.debugNamedSpeechRule=function(a,b){for(var c=cvox.SpeechRuleEngine.getInstance().activeStore_,c=c.findAllRules(function(b){return b.name==a}),d=0,e;e=c[d];d++)cvox.SpeechRuleEngine.outputDebug("Rule",a,"number",d),cvox.SpeechRuleEngine.debugSpeechRule(e,b)};cvox.AbstractWalker=function(){};cvox.AbstractWalker.prototype.begin=function(a){a=a||{reversed:!1};return this.sync(cvox.CursorSelection.fromBody().setReversed(a.reversed))};cvox.AbstractWalker.prototype.hasAction=function(a){return"function"==typeof this[a]};cvox.AbstractWalker.prototype.performAction=function(a,b){return this.hasAction(a)?this[a](b):null};cvox.AbstractNodeWalker=function(){this.wasBegin_=!1};goog.inherits(cvox.AbstractNodeWalker,cvox.AbstractWalker);cvox.AbstractNodeWalker.prototype.next=function(a){var b=a.isReversed();a=a.end.node||document.body;do if(a=cvox.DomUtil.directedNextLeafLikeNode(a,b,goog.bind(this.stopNodeDescent,this)),!a)return null;while(a&&!cvox.DomUtil.hasContent(a));return cvox.CursorSelection.fromNode(a).setReversed(b)};
cvox.AbstractNodeWalker.prototype.sync=function(a){a=this.privateSync_(a);this.wasBegin_=!1;return a};
cvox.AbstractNodeWalker.prototype.privateSync_=function(a){var b=a.isReversed();if(a.equals(cvox.CursorSelection.fromBody())){if(this.wasBegin_)return cvox.CursorSelection.fromBody().setReversed(b);this.wasBegin_=!0}for(a=a.start.node;a!=document.body&&a.parentNode&&this.stopNodeDescent(a.parentNode);)a=a.parentNode;for(;!this.stopNodeDescent(a);)a=cvox.DomUtil.directedFirstChild(a,b);var c=cvox.CursorSelection.fromNode(a);cvox.DomUtil.hasContent(a)||(c=this.next(cvox.CursorSelection.fromNode(a).setReversed(b)));
return c?c.setReversed(b):this.begin({reversed:b})};cvox.BareObjectWalker=function(){cvox.AbstractNodeWalker.call(this)};goog.inherits(cvox.BareObjectWalker,cvox.AbstractNodeWalker);cvox.BareObjectWalker.prototype.stopNodeDescent=function(a){return cvox.DomUtil.isLeafNode(a)};cvox.AuralStyleConverter={};cvox.AuralStyleUtil={};
cvox.AuralProperty={VOLUME:"VOLUME",SPEAK:"SPEAK",PAUSE_BEFORE:"PAUSE_BEFORE",PAUSE_AFTER:"PAUSE_AFTER",PAUSE:"PAUSE",CUE_BEFORE:"CUE_BEFORE",CUE_AFTER:"CUE_AFTER",CUE:"CUE",PLAY_DURING:"PLAY_DURING",AZIMUTH:"AZIMUTH",ELEVATION:"ELEVATION",SPEECH_RATE:"SPEECH_RATE",VOICE_FAMILY:"VOICE_FAMILY",PITCH:"PITCH",PITCH_RANGE:"PITCH_RANGE",STRESS:"STRESS",RICHNESS:"RICHNESS",SPEAK_PUNCTUATION:"SPEAK_PUNCTUATION",SPEAK_NUMERIAL:"SPEAK_NUMERIAL",SPEAK_HEADER:"SPEAK_HEADER",NONE:"NONE"};
cvox.AuralStyleConverter.identity=function(a){return a};cvox.AuralStyleConverter.propertyTable={VOLUME:"volume",SPEAK:"no-op",PAUSE_BEFORE:"no-op",PAUSE_AFTER:"no-op",PAUSE:"no-op",CUE_BEFORE:"no-op",CUE_AFTER:"no-op",CUE:"no-op",PLAY_DURING:"no-op",AZIMUTH:"no-op",ELEVATION:"no-op",SPEECH_RATE:"relativeRate",VOICE_FAMILY:"no-op",PITCH:"relativePitch",PITCH_RANGE:"no-op",STRESS:"no-op",RICHNESS:"no-op",SPEAK_PUNCTUATION:"no-op",SPEAK_NUMERIAL:"no-op",SPEAK_HEADER:"no-op",NONE:"no-op"};
cvox.AuralStyleConverter.valueTable={VOLUME:cvox.AuralStyleConverter.identity,SPEAK:cvox.AuralStyleConverter.identity,PAUSE_BEFORE:cvox.AuralStyleConverter.identity,PAUSE_AFTER:cvox.AuralStyleConverter.identity,PAUSE:cvox.AuralStyleConverter.identity,CUE_BEFORE:cvox.AuralStyleConverter.identity,CUE_AFTER:cvox.AuralStyleConverter.identity,CUE:cvox.AuralStyleConverter.identity,PLAY_DURING:cvox.AuralStyleConverter.identity,AZIMUTH:cvox.AuralStyleConverter.identity,ELEVATION:cvox.AuralStyleConverter.identity,
SPEECH_RATE:cvox.AuralStyleConverter.identity,VOICE_FAMILY:cvox.AuralStyleConverter.identity,PITCH:cvox.AuralStyleConverter.identity,PITCH_RANGE:cvox.AuralStyleConverter.identity,STRESS:cvox.AuralStyleConverter.identity,RICHNESS:cvox.AuralStyleConverter.identity,SPEAK_PUNCTUATION:cvox.AuralStyleConverter.identity,SPEAK_NUMERIAL:cvox.AuralStyleConverter.identity,SPEAK_HEADER:cvox.AuralStyleConverter.identity,NONE:cvox.AuralStyleConverter.identity};
cvox.AuralStyleConverter.convertRule=function(a,b){return{property:cvox.AuralStyleConverter.propertyTable[a],value:cvox.AuralStyleConverter.valueTable[a](b)}};cvox.AuralStyleConverter.convertStyle=function(a){var b={},c;for(c in a){var d=cvox.AuralStyleConverter.convertRule(c,a[c]);b[d.property]=d.value}return b};cvox.AuralStyleUtil.getStyleForNode=function(a){return(a=cvox.AuralStyleUtil.defaultStyles[a.tagName])?cvox.AuralStyleConverter.convertStyle(a):null};
cvox.AuralStyleUtil.defaultStyles={ARTICLE:{PITCH:-0.1},ASIDE:{PITCH:-0.1},FOOTER:{PITCH:-0.1},H1:{PITCH:-0.3},H2:{PITCH:-0.25},H3:{PITCH:-0.2},H4:{PITCH:-0.15},H5:{PITCH:-0.1},H6:{PITCH:-0.05},HEADER:{PITCH:-0.1},HGROUP:{PITCH:-0.1},MARK:{PITCH:-0.1},NAV:{PITCH:-0.1},SECTION:{PITCH:-0.1},TIME:{PITCH:-0.1}};cvox.EarconUtil={};
cvox.EarconUtil.getEarcon=function(a){var b=cvox.AriaUtil.getEarcon(a);if(null!=b)return b;switch(a.tagName){case "BUTTON":return cvox.AbstractEarcons.BUTTON;case "A":if(a.hasAttribute("href"))return cvox.AbstractEarcons.LINK;break;case "IMG":if(cvox.DomUtil.hasLongDesc(a))return cvox.AbstractEarcons.LONG_DESC;break;case "LI":return cvox.AbstractEarcons.LIST_ITEM;case "SELECT":return cvox.AbstractEarcons.LISTBOX;case "TEXTAREA":return cvox.AbstractEarcons.EDITABLE_TEXT;case "INPUT":switch(a.type){case "button":case "submit":case "reset":return cvox.AbstractEarcons.BUTTON;case "checkbox":case "radio":return a.checked?
cvox.AbstractEarcons.CHECK_ON:cvox.AbstractEarcons.CHECK_OFF;default:if(cvox.DomUtil.isInputTypeText(a))return cvox.AbstractEarcons.EDITABLE_TEXT}}return null};cvox.DescriptionUtil={};cvox.DescriptionUtil.COLLECTION_NODE_TYPE={H1:!0,H2:!0,H3:!0,H4:!0,H5:!0,H6:!0};
cvox.DescriptionUtil.getControlDescription=function(a,b){var c=[a];if(b&&0<b.length)c=b;else{var d=cvox.DomUtil.getSurroundingControl(a);d&&(c=[d,a])}c=cvox.DescriptionUtil.getDescriptionFromAncestors(c,!0,cvox.VERBOSITY_VERBOSE);if(d){var e=cvox.DomUtil.getName(d);0==e.length&&(e=cvox.DomUtil.getControlLabelHeuristics(d),0<e.length&&(c.context=e+" "+c.context))}else e=cvox.DomUtil.getName(a),0==e.length&&(e=cvox.DomUtil.getControlLabelHeuristics(a),0<e.length&&(c.text=cvox.DomUtil.collapseWhitespace(e))),
d=cvox.DomUtil.getValue(a),0<d.length&&(c.userValue=cvox.DomUtil.collapseWhitespace(d));return c};
cvox.DescriptionUtil.getDescriptionFromAncestors=function(a,b,c){"undefined"===typeof b&&(b=!0);var d=a.length,e="",f="",g="",h="",k=[],l=null;0<d&&(f=cvox.DomUtil.getName(a[d-1],b),g=cvox.DomUtil.getValue(a[d-1]));for(b=d-1;0<=b;b--){var m=a[b],p=m.getAttribute?m.getAttribute("role"):null;if("dialog"!=p&&"alertdialog"!=p){p=cvox.DomUtil.getRole(m,c);l||(l=cvox.AuralStyleUtil.getStyleForNode(m));if(b<d-1&&m.hasAttribute("role")){var q=cvox.DomUtil.getName(m,!1);q&&(p=q+" "+p)}0<p.length&&(0<e.length||
0<h.length&&1<m.childElementCount?e=p+" "+cvox.DomUtil.getState(m,!1)+" "+e:h=0<h.length?h+(" "+p+" "+cvox.DomUtil.getState(m,!0)):p+" "+cvox.DomUtil.getState(m,!0));m=cvox.EarconUtil.getEarcon(m);null!=m&&-1==k.indexOf(m)&&k.push(m)}}return new cvox.NavDescription({context:cvox.DomUtil.collapseWhitespace(e),text:cvox.DomUtil.collapseWhitespace(f),userValue:cvox.DomUtil.collapseWhitespace(g),annotation:cvox.DomUtil.collapseWhitespace(h),earcons:k,personality:l})};
cvox.DescriptionUtil.getDescriptionFromNavigation=function(a,b,c,d){if(!a||!b)return[];if(cvox.DomUtil.isMath(b)&&!cvox.AriaUtil.isMath(b))return cvox.DescriptionUtil.getMathDescription(b);if(cvox.DescriptionUtil.COLLECTION_NODE_TYPE[b.tagName])return cvox.DescriptionUtil.getCollectionDescription(cvox.CursorSelection.fromNode(a),cvox.CursorSelection.fromNode(b));var e=cvox.DomUtil.getUniqueAncestors(a,b,!0),e=cvox.DescriptionUtil.getDescriptionFromAncestors(e,c,d);a=cvox.DomUtil.getUniqueAncestors(b,
a);cvox.DescriptionUtil.shouldDescribeExit_(a)&&(c=cvox.DescriptionUtil.getDescriptionFromAncestors(a,c,d),c.context&&!e.context&&(e.context=cvox.ChromeVox.msgs.getMsg("exited_container",[c.context])));return[e]};cvox.DescriptionUtil.getCollectionDescription=function(a,b){var c=cvox.DescriptionUtil.getRawDescriptions_(a,b);cvox.DescriptionUtil.insertCollectionDescription_(c);return c};cvox.DescriptionUtil.subWalker_=new cvox.BareObjectWalker;
cvox.DescriptionUtil.getRawDescriptions_=function(a,b){var c=[];b=b.clone().setReversed(!1);var d=cvox.DescriptionUtil.subWalker_.sync(b).start.node,e=a.end.node,f=cvox.CursorSelection.fromNode(d);if(!f)return[];for(;cvox.DomUtil.isDescendantOfNode(d,b.start.node);){e=cvox.DomUtil.getUniqueAncestors(e,d);cvox.DomUtil.isMath(d)&&!cvox.AriaUtil.isMath(d)?c=c.concat(cvox.DescriptionUtil.getMathDescription(d)):(e=cvox.DescriptionUtil.getDescriptionFromAncestors(e,!0,cvox.ChromeVox.verbosity),c.push(e));
f=cvox.DescriptionUtil.subWalker_.next(f);if(!f)break;e=d;d=f.start.node}return c};
cvox.DescriptionUtil.getFullDescriptionsFromChildren=function(a,b){var c=[];if(!b)return c;var d;if(cvox.DomUtil.isLeafNode(b))return a?d=cvox.DomUtil.getUniqueAncestors(a,b):(d=[],d.push(b)),d=cvox.DescriptionUtil.getDescriptionFromAncestors(d,!0,cvox.ChromeVox.verbosity),c.push(d),c;d=b;var e=cvox.CursorSelection.fromNode(b);if(!e)return c;b=cvox.DescriptionUtil.subWalker_.sync(e).start.node;e=cvox.CursorSelection.fromNode(b);if(!e)return c;for(;cvox.DomUtil.isDescendantOfNode(b,d);){c=c.concat(cvox.DescriptionUtil.getFullDescriptionsFromChildren(a,
b));e=cvox.DescriptionUtil.subWalker_.next(e);if(!e)break;a=b;b=e.start.node}return c};
cvox.DescriptionUtil.insertCollectionDescription_=function(a){var b=cvox.DescriptionUtil.getAnnotations_(a);if(3<=a.length&&0==a[0].context.length&&1==b.length&&0<b[0].length&&cvox.DescriptionUtil.isAnnotationCollection_(b[0])){var b=b[0],c=a[0].context;a[0].context="";for(var d=0;d<a.length;d++)a[d].annotation="";a.splice(0,0,new cvox.NavDescription({context:c,text:"",annotation:cvox.ChromeVox.msgs.getMsg("collection",[b,cvox.ChromeVox.msgs.getNumber(a.length)])}))}};
cvox.DescriptionUtil.getAnnotations_=function(a){for(var b=[],c=0;c<a.length;++c){var d=a[c];if(-1==b.indexOf(d.annotation)){var e=cvox.ChromeVox.msgs.getMsg("tag_link");-1!=d.annotation.toLowerCase().indexOf(e.toLowerCase())?-1==b.indexOf(e)&&b.push(e):b.push(d.annotation)}}return b};cvox.DescriptionUtil.isAnnotationCollection_=function(a){return a==cvox.ChromeVox.msgs.getMsg("tag_link")};cvox.DescriptionUtil.shouldDescribeExit_=function(a){return a.some(function(a){switch(a.tagName){case "TABLE":case "MATH":return!0}return cvox.AriaUtil.isLandmark(a)})};
cvox.DescriptionUtil.getMathDescription=function(a){var b=cvox.SpeechRuleEngine.getInstance(),c=cvox.TraverseMath.getInstance();b.parameterize(cvox.MathmlStore.getInstance());c.initialize(a);a=b.evaluateNode(c.activeNode);if(a==[])return[new cvox.NavDescription({text:"empty math"})];cvox.ChromeVox.verbosity==cvox.VERBOSITY_VERBOSE&&(a[a.length-1].annotation="math");a[0].pushEarcon(cvox.AbstractEarcons.SPECIAL_CONTENT);return a};cvox.FindUtil={};cvox.FindUtil.objectWalker_=new cvox.BareObjectWalker;cvox.FindUtil.findNext=function(a,b,c){var d=a.isReversed();a=(new cvox.CursorSelection(a.absStart(),a.absStart())).setReversed(d);var e;if(e=b(cvox.DomUtil.getAncestors(a.start.node)))if(a=cvox.CursorSelection.fromNode(e).setReversed(d),c)return a;for(;a;){a=cvox.FindUtil.objectWalker_.next(a);c=null;if(!a||(c=b(cvox.DomUtil.getAncestors(a.start.node))))return c?cvox.CursorSelection.fromNode(c):null;if("IFRAME"==a.start.node.tagName)return a}return null};cvox.Interframe=function(){};cvox.Interframe.IF_MSG_PREFIX="cvox.INTERFRAME:";cvox.Interframe.SET_ID="cvox.INTERFRAME_SET_ID";cvox.Interframe.listeners=[];cvox.Interframe.allowAccessToIframeContentWindow=!0;
cvox.Interframe.init=function(){cvox.Interframe.messageListener=function(a){if("string"===typeof a.data&&0==a.data.indexOf(cvox.Interframe.IF_MSG_PREFIX)){a=a.data.substr(cvox.Interframe.IF_MSG_PREFIX.length);a=cvox.ChromeVoxJSON.parse(a);a.command==cvox.Interframe.SET_ID&&(cvox.Interframe.id=a.id);for(var b=0,c;c=cvox.Interframe.listeners[b];b++)c(a)}return!1};window.addEventListener("message",cvox.Interframe.messageListener,!0)};
cvox.Interframe.shutdown=function(){window.removeEventListener("message",cvox.Interframe.messageListener,!0)};cvox.Interframe.addListener=function(a){cvox.Interframe.listeners.push(a)};cvox.Interframe.sendMessageToWindow=function(a,b){var c=cvox.Interframe.IF_MSG_PREFIX+cvox.ChromeVoxJSON.stringify(a,null,null);b.postMessage(c,"*")};
cvox.Interframe.sendMessageToIFrame=function(a,b){if(cvox.Interframe.allowAccessToIframeContentWindow&&b.contentWindow)cvox.Interframe.sendMessageToWindow(a,b.contentWindow);else{var c=cvox.Interframe.IF_MSG_PREFIX+cvox.ChromeVoxJSON.stringify(a,null,null),d=document.createElement("script");d.type="text/javascript";if(b.hasAttribute("id")&&document.getElementById(b.id)==b)d.innerHTML="document.getElementById(decodeURI('"+encodeURI(b.id)+"')).contentWindow.postMessage(decodeURI('"+encodeURI(c)+"'), '*');";
else{var e="cvox_iframe"+a.id;""===b.className?b.className=e:-1==b.className.indexOf(e)&&(b.className+=" "+e);d.innerHTML="document.getElementsByClassName(decodeURI('"+encodeURI(e)+"'))[0].contentWindow.postMessage(decodeURI('"+encodeURI(c)+"'), '*');"}document.head.appendChild(d);window.setTimeout(function(){document.head.removeChild(d)},1E3)}};
cvox.Interframe.sendMessageToParentWindow=function(a){cvox.Interframe.isIframe()&&(a.sourceId=cvox.Interframe.id,window.parent?cvox.Interframe.sendMessageToWindow(a,window.parent):(a=cvox.Interframe.IF_MSG_PREFIX+cvox.ChromeVoxJSON.stringify(a,null,null),window.location.href="javascript:window.parent.postMessage('"+encodeURI(a)+"', '*');"))};cvox.Interframe.sendIdToIFrame=function(a,b){var c={command:cvox.Interframe.SET_ID,id:a};cvox.Interframe.sendMessageToIFrame(c,b)};
cvox.Interframe.isIframe=function(){return window!=window.parent};cvox.Interframe.init();cvox.PageSelection=function(a){this.sel_=a.clone();this.sel_.select();this.wasBegin_=!0};
cvox.PageSelection.prototype.getDescription=function(a,b,c){var d=[];this.sel_.isReversed()!=c.isReversed()?(d=a.getDescription(c,b),d[0].annotation=cvox.ChromeVox.msgs.getMsg("describe_unselected"),d[0].pushEarcon(cvox.AbstractEarcons.SELECTION_REVERSE)):(d=a.getDescription(b,c),d[0].annotation=cvox.ChromeVox.msgs.getMsg("describe_selected"),d[0].pushEarcon(cvox.AbstractEarcons.SELECTION),!this.wasBegin_&&this.sel_.absEquals(c.clone().normalize())&&(a=a.getDescription(c,b),a[0].annotation=cvox.ChromeVox.msgs.getMsg("describe_unselected"),
a[0].pushEarcon(cvox.AbstractEarcons.SELECTION_REVERSE),a[0].pushEarcon(cvox.AbstractEarcons.WRAP),d=a.concat(d)));return d};cvox.PageSelection.prototype.getFullDescription=function(){return[new cvox.NavDescription({text:window.getSelection().toString(),context:cvox.ChromeVox.msgs.getMsg("selection_is")})]};
cvox.PageSelection.prototype.extend=function(a){this.sel_.directedBefore(a)?this.sel_.end=this.sel_.isReversed()==a.isReversed()?a.end.clone():a.start.clone():this.sel_=a.clone();this.sel_.select();this.wasBegin_=!1;return!this.sel_.absEquals(a)};cvox.BrailleUtil={};cvox.BrailleUtil.ITEM_SEPARATOR=" ";cvox.BrailleUtil.CONTAINER="tag_h1_brl tag_h2_brl tag_h3_brl tag_h4_brl tag_h5_brl tag_h6_brl".split(" ");
cvox.BrailleUtil.TEMPLATE={base:"c n v r s",aria_role_alert:"r: n",aria_role_button:"[n]",aria_role_textbox:"n: v r",input_type_button:"[n]",input_type_checkbox:"n (s)",input_type_email:"n: v r",input_type_number:"n: v r",input_type_password:"n: v r",input_type_search:"n: v r",input_type_submit:"[n]",input_type_text:"n: v r",input_type_tel:"n: v r",input_type_url:"n: v r",tag_button:"[n]",tag_textarea:"n: v r"};cvox.BrailleUtil.ValueSpan=function(a){this.offset=a};
cvox.BrailleUtil.ValueSelectionSpan=function(){};cvox.BrailleUtil.getName=function(a){return a?cvox.DomUtil.getName(a).trim():""};cvox.BrailleUtil.getRoleMsg=function(a){if(!a)return"";(a=cvox.DomUtil.getRoleMsg(a,cvox.VERBOSITY_VERBOSE))&&(a=cvox.DomUtil.collapseWhitespace(a));a&&0<a.length&&cvox.ChromeVox.msgs.getMsg(a+"_brl")&&(a+="_brl");return a};cvox.BrailleUtil.getRole=function(a){return a?(a=cvox.BrailleUtil.getRoleMsg(a))?cvox.ChromeVox.msgs.getMsg(a):"":""};
cvox.BrailleUtil.getState=function(a){return a?cvox.NodeStateUtil.expand(cvox.DomUtil.getStateMsgs(a,!0).map(function(a){cvox.ChromeVox.msgs.getMsg(a[0]+"_brl")&&(a[0]+="_brl");return a})):""};cvox.BrailleUtil.getContainer=function(a,b){if(!a||!b)return"";for(var c=cvox.DomUtil.getUniqueAncestors(a,b),d=0,e;e=c[d];d++)if((e=cvox.BrailleUtil.getRoleMsg(e))&&-1!=cvox.BrailleUtil.CONTAINER.indexOf(e))return cvox.ChromeVox.msgs.getMsg(e);return""};
cvox.BrailleUtil.getValue=function(a){if(!a)return new cvox.Spannable;var b=new cvox.BrailleUtil.ValueSpan(0);if(cvox.DomUtil.isInputTypeText(a)){var c=a.value;"password"===a.type&&(c=c.replace(/./g,"*"));b=new cvox.Spannable(c,b);a===document.activeElement&&cvox.DomUtil.doesInputSupportSelection(a)&&b.setSpan(new cvox.BrailleUtil.ValueSelectionSpan,a.selectionStart,a.selectionEnd);return b}if(a instanceof HTMLTextAreaElement){var d=new cvox.EditableTextAreaShadow;d.update(a);var e=d.getLineIndex(a.selectionEnd),
c=d.getLineStart(e),d=d.getLineEnd(e),d=a.value.substring(c,d);b.offset=c;b=new cvox.Spannable(d,b);a===document.activeElement&&(d=Math.max(a.selectionStart-c,0),a=Math.min(a.selectionEnd-c,b.getLength()),b.setSpan(new cvox.BrailleUtil.ValueSelectionSpan,d,a));return b}return new cvox.Spannable(cvox.DomUtil.getValue(a),b)};
cvox.BrailleUtil.getTemplated=function(a,b,c){c=c?c:{};var d=c.roleMsg||(b?cvox.DomUtil.getRoleMsg(b,cvox.VERBOSITY_VERBOSE):""),e=c.role;!e&&c.roleMsg&&(e=cvox.ChromeVox.msgs.getMsg(c.roleMsg+"_brl")||cvox.ChromeVox.msgs.getMsg(c.roleMsg));for(var e=e||cvox.BrailleUtil.getRole(b),d=cvox.BrailleUtil.TEMPLATE[d]||cvox.BrailleUtil.TEMPLATE.base,f=new cvox.Spannable,g=function(d){switch(d){case "n":return c.name||cvox.BrailleUtil.getName(b);case "r":return e;case "s":return c.state||cvox.BrailleUtil.getState(b);
case "c":return c.container||cvox.BrailleUtil.getContainer(a,b);case "v":return c.value||cvox.BrailleUtil.getValue(b);default:return d}},h=0;h<d.length;h++){var k=g(d[h]);f.append(k);k.toString()||" "!=d[h+1]||h++}return f.trimRight()};cvox.BrailleUtil.createValue=function(a,b,c){a=new cvox.Spannable(a,new cvox.BrailleUtil.ValueSpan(0));if(goog.isDef(b)){c=goog.isDef(c)?c:b;if(b>c){var d=b;b=c;c=d}a.setSpan(new cvox.BrailleUtil.ValueSelectionSpan,b,c)}return a};cvox.MathmlStoreUtil={};cvox.MathmlStoreUtil.matchMathjaxToMathml=function(a){var b=cvox.TraverseMath.getInstance().activeMathmlHost;return b.querySelector("#"+a.id)};cvox.MathmlStoreUtil.retrieveMathjaxExtender=function(a){return(a=cvox.MathmlStoreUtil.matchMathjaxToMathml(a))?[a]:[]};cvox.MathmlStoreUtil.retrieveMathjaxLeaf=function(a){return(a=cvox.MathmlStoreUtil.matchMathjaxToMathml(a))?[a]:[]};
cvox.MathmlStoreUtil.checkMathjaxTag=function(a,b){var c=cvox.MathmlStoreUtil.matchMathjaxToMathml(a);return c&&c.tagName.toUpperCase()==b?[c]:[]};cvox.MathmlStoreUtil.checkMathjaxMunder=function(a){return cvox.MathmlStoreUtil.checkMathjaxTag(a,"MUNDER")};cvox.MathmlStoreUtil.checkMathjaxMover=function(a){return cvox.MathmlStoreUtil.checkMathjaxTag(a,"MOVER")};cvox.MathmlStoreUtil.checkMathjaxMsub=function(a){return cvox.MathmlStoreUtil.checkMathjaxTag(a,"MSUB")};
cvox.MathmlStoreUtil.checkMathjaxMsup=function(a){return cvox.MathmlStoreUtil.checkMathjaxTag(a,"MSUP")};cvox.MathmlStoreUtil.nextSeparatorFunction=function(a){if(a){if(a.match(/^\s+$/))return null;var b=a.replace(/\s/g,"").split("").filter(function(a){return a})}else b=[","];return function(){return 1<b.length?b.shift():b[0]}};cvox.MathmlStoreUtil.mfencedSeparators=function(a,b){var c=cvox.MathmlStoreUtil.nextSeparatorFunction(b);return function(){return c?c():""}};
cvox.MathmlStoreUtil.contentIterator=function(a,b){var c=0<a.length?cvox.XpathUtil.evalXPath("../../content/*",a[0]):[];return function(){var a=c.shift();return b+(a?a.textContent:"")}};cvox.StoreUtil={};cvox.StoreUtil.nodeCounter=function(a,b){var c=a.length,d=0,e=b;b||(e="");return function(){d<c&&(d+=1);return e+" "+d}};cvox.MathmlStoreRules=function(){cvox.MathmlStoreRules.initCustomFunctions_();cvox.MathmlStoreRules.initDefaultRules_();cvox.MathmlStoreRules.initMathjaxRules_();cvox.MathmlStoreRules.initAliases_();cvox.MathmlStoreRules.initSpecializationRules_();cvox.MathmlStoreRules.initSemanticRules_()};goog.addSingletonGetter(cvox.MathmlStoreRules);cvox.MathmlStoreRules.mathStore=cvox.MathmlStore.getInstance();cvox.MathmlStoreRules.mathStore.initialize=cvox.MathmlStoreRules.getInstance;
cvox.MathmlStoreRules.defineDefaultMathmlRule_=goog.bind(cvox.MathmlStoreRules.mathStore.defineDefaultMathmlRule,cvox.MathmlStoreRules.mathStore);cvox.MathmlStoreRules.defineRule_=goog.bind(cvox.MathmlStoreRules.mathStore.defineRule,cvox.MathmlStoreRules.mathStore);cvox.MathmlStoreRules.defineRuleAlias_=goog.bind(cvox.MathmlStoreRules.mathStore.defineRuleAlias,cvox.MathmlStoreRules.mathStore);
cvox.MathmlStoreRules.addContextFunction_=goog.bind(cvox.MathmlStoreRules.mathStore.contextFunctions.add,cvox.MathmlStoreRules.mathStore.contextFunctions);cvox.MathmlStoreRules.addCustomQuery_=goog.bind(cvox.MathmlStoreRules.mathStore.customQueries.add,cvox.MathmlStoreRules.mathStore.customQueries);
cvox.MathmlStoreRules.initCustomFunctions_=function(){(0,cvox.MathmlStoreRules.addContextFunction_)("CTXFnodeCounter",cvox.StoreUtil.nodeCounter);(0,cvox.MathmlStoreRules.addContextFunction_)("CTXFmfSeparators",cvox.MathmlStoreUtil.mfencedSeparators);(0,cvox.MathmlStoreRules.addContextFunction_)("CTXFcontentIterator",cvox.MathmlStoreUtil.contentIterator);(0,cvox.MathmlStoreRules.addCustomQuery_)("CQFextender",cvox.MathmlStoreUtil.retrieveMathjaxExtender);(0,cvox.MathmlStoreRules.addCustomQuery_)("CQFmathmlmunder",
cvox.MathmlStoreUtil.checkMathjaxMunder);(0,cvox.MathmlStoreRules.addCustomQuery_)("CQFmathmlmover",cvox.MathmlStoreUtil.checkMathjaxMover);(0,cvox.MathmlStoreRules.addCustomQuery_)("CQFmathmlmsub",cvox.MathmlStoreUtil.checkMathjaxMsub);(0,cvox.MathmlStoreRules.addCustomQuery_)("CQFmathmlmsup",cvox.MathmlStoreUtil.checkMathjaxMsup);(0,cvox.MathmlStoreRules.addCustomQuery_)("CQFlookupleaf",cvox.MathmlStoreUtil.retrieveMathjaxLeaf)};
cvox.MathmlStoreRules.initDefaultRules_=function(){(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("math","[m] ./*");(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mspace","[p] (pause:250)");(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mstyle","[m] ./*");(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mpadded","[m] ./*");(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("merror","[m] ./*");(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mphantom","[m] ./*");(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mtext",
"[t] text(); [p] (pause:200)");(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mi","[n] text()");(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mo","[n] text() (rate:-0.1)");(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mn","[n] text()");(0,cvox.MathmlStoreRules.defineRule_)("mtext-variant","default.default",'[t] "begin"; [t] @mathvariant (pause:150);[t] text() (pause:150); [t] "end"; [t] @mathvariant (pause:200)',"self::mathml:mtext","@mathvariant",'@mathvariant!="normal"');(0,cvox.MathmlStoreRules.defineRule_)("mi-variant",
"default.default","[t] @mathvariant; [n] text()","self::mathml:mi","@mathvariant",'@mathvariant!="normal"');(0,cvox.MathmlStoreRules.defineRuleAlias_)("mi-variant","self::mathml:mn","@mathvariant",'@mathvariant!="normal"');(0,cvox.MathmlStoreRules.defineRule_)("mo-variant","default.default","[t] @mathvariant; [n] text() (rate:-0.1)","self::mathml:mo","@mathvariant",'@mathvariant!="normal"');(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("ms",'[t] "string" (pitch:0.5, rate:0.5); [t] text()');(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("msup",
'[n] ./*[1]; [t] "super";[n] ./*[2] (pitch:0.35); [p] (pause:300)');(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("msubsup",'[n] ./*[1]; [t] "sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:200);[t] "super"; [n] ./*[3] (pitch:0.35); [p] (pause:300)');(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("msub",'[n] ./*[1]; [t] "sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:300)');(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mover",'[n] ./*[2] (pitch:0.35); [p] (pause:200); [t] "over"; [n] ./*[1]; [p] (pause:400)');
(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("munder",'[n] ./*[2] (pitch:-0.35); [t] "under"; [n] ./*[1]; [p] (pause:400)');(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("munderover",'[n] ./*[2] (pitch:-0.35); [t] "under and"; [n] ./*[3] (pitch:0.35); [t] "over"; [n] ./*[1]; [p] (pause:400)');(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mrow","[m] ./*");(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("msqrt",'[t] "Square root of"; [m] ./* (rate:0.2); [p] (pause:400)');(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mroot",
'[t] "root of order"; [n] ./*[2]; [t] "of";[n] ./*[1] (rate:0.2); [p] (pause:400)');(0,cvox.MathmlStoreRules.defineDefaultMathmlRule_)("mfrac",' [p] (pause:400); [n] ./*[1] (pitch:0.3); [t] "divided by"; [n] ./*[2] (pitch:-0.3); [p] (pause:400)');(0,cvox.MathmlStoreRules.defineRule_)("mfenced-single","default.default",'[t] @open (context:"opening"); [m] ./* (separator:@separators);[t] @close (context:"closing")',"self::mathml:mfenced","string-length(string(@separators))=1");(0,cvox.MathmlStoreRules.defineRule_)("mfenced-empty",
"default.default",'[t] @open (context:"opening"); [m] ./*;[t] @close (context:"closing")',"self::mathml:mfenced","string-length(string(@separators))=1",'string(@separators)=" "');(0,cvox.MathmlStoreRules.defineRule_)("mfenced-comma","default.default",'[t] @open (context:"opening"); [m] ./* (separator:"comma");[t] @close (context:"closing")',"self::mathml:mfenced");(0,cvox.MathmlStoreRules.defineRule_)("mfenced-multi","default.default",'[t] @open (context:"opening"); [m] ./* (sepFunc:CTXFmfSeparators,separator:@separators); [t] @close (context:"closing")',
"self::mathml:mfenced","string-length(string(@separators))>1");(0,cvox.MathmlStoreRules.defineRule_)("mtable","default.default",'[t] "matrix"; [m] ./* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::mathml:mtable");(0,cvox.MathmlStoreRules.defineRule_)("mtr","default.default",'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)',"self::mathml:mtr");(0,cvox.MathmlStoreRules.defineRule_)("mtd","default.default","[m] ./*","self::mathml:mtd");(0,cvox.MathmlStoreRules.defineRule_)("mtable",
"default.superbrief",'[t] count(child::mathml:mtr);  [t] "by";[t] count(child::mathml:mtr[1]/mathml:mtd); [t] "matrix";',"self::mathml:mtable");(0,cvox.MathmlStoreRules.defineRule_)("mtable","default.short",'[t] "matrix"; [m] ./*',"self::mathml:mtable");(0,cvox.MathmlStoreRules.defineRule_)("mtr","default.short","[m] ./*","self::mathml:mtr");(0,cvox.MathmlStoreRules.defineRule_)("mtd","default.short",'[t] "Element"; [t] count(./preceding-sibling::mathml:mtd)+1;[t] count(./parent::mathml:mtr/preceding-sibling::mathml:mtr)+1;[p] (pause:500); [m] ./*',
"self::mathml:mtd");(0,cvox.MathmlStoreRules.defineRule_)("mmultiscripts-4","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:200);[t] "right sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:200);[t] "right super"; [n] ./*[3] (pitch:0.35); [p] (pause:300);',"self::mathml:mmultiscripts");(0,cvox.MathmlStoreRules.defineRule_)("mmultiscripts-3-1","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:200);[t] "right super"; [n] ./*[3] (pitch:0.35); [p] (pause:300);',
"self::mathml:mmultiscripts","./mathml:none=./*[2]","./mathml:mprescripts=./*[4]");(0,cvox.MathmlStoreRules.defineRule_)("mmultiscripts-3-2","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:200);[t] "right sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:200);',"self::mathml:mmultiscripts","./mathml:none=./*[3]","./mathml:mprescripts=./*[4]");(0,cvox.MathmlStoreRules.defineRule_)("mmultiscripts-3-3",
"default.default",'[n] ./*[1]; [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:200);[t] "right sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:200);[t] "right super"; [n] ./*[3] (pitch:0.35); [p] (pause:300);',"self::mathml:mmultiscripts","./mathml:none=./*[5]","./mathml:mprescripts=./*[4]");(0,cvox.MathmlStoreRules.defineRule_)("mmultiscripts-3-4","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);[t] "right sub"; [n] ./*[2] (pitch:-0.35); [p] (pause:200);[t] "right super"; [n] ./*[3] (pitch:0.35); [p] (pause:300);',
"self::mathml:mmultiscripts","./mathml:none=./*[6]","./mathml:mprescripts=./*[4]");(0,cvox.MathmlStoreRules.defineRule_)("mmultiscripts-2-1","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:300);',"self::mathml:mmultiscripts","./mathml:none=./*[2]","./mathml:none=./*[3]","./mathml:mprescripts=./*[4]");(0,cvox.MathmlStoreRules.defineRule_)("mmultiscripts-1-1","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left super"; [n] ./*[6] (pitch:0.35); [p] (pause:300);',
"self::mathml:mmultiscripts","./mathml:none=./*[2]","./mathml:none=./*[3]","./mathml:mprescripts=./*[4]","./mathml:none=./*[5]");(0,cvox.MathmlStoreRules.defineRule_)("mmultiscripts-1-2","default.default",'[n] ./*[1]; [p] (pause:200);[t] "left sub"; [n] ./*[5] (pitch:-0.35); [p] (pause:200);',"self::mathml:mmultiscripts","./mathml:none=./*[2]","./mathml:none=./*[3]","./mathml:mprescripts=./*[4]","./mathml:none=./*[6]")};
cvox.MathmlStoreRules.initMathjaxRules_=function(){(0,cvox.MathmlStoreRules.defineRule_)("mj-math","default.default","[n] ./*[1]/*[1]/*[1]",'self::span[@class="math"]');(0,cvox.MathmlStoreRules.defineRule_)("mj-leaf","default.default","[n] CQFlookupleaf",'self::span[@class="mi"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mo"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mn"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mtext"]');
(0,cvox.MathmlStoreRules.defineRule_)("mj-mo-ext","default.default","[n] CQFextender",'self::span[@class="mo"]',"./*[1]/*[1]/text()","./*[1]/*[2]/text()");(0,cvox.MathmlStoreRules.defineRule_)("mj-texatom","default.default","[n] ./*[1]",'self::span[@class="texatom"]');(0,cvox.MathmlStoreRules.defineRule_)("mj-msubsup","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "sub"; [n] ./*[1]/*[3]/*[1] (pitch:-0.35);[p] (pause:200); [t] "super"; [n] ./*[1]/*[2]/*[1] (pitch:0.35);[p] (pause:300)','self::span[@class="msubsup"]');
(0,cvox.MathmlStoreRules.defineRule_)("mj-msub","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "sub";[n] ./*[1]/*[2]/*[1] (pitch:-0.35); [p] (pause:300)','self::span[@class="msub"]');(0,cvox.MathmlStoreRules.defineRule_)("mj-msup","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "super";[n] ./*[1]/*[2]/*[1] (pitch:0.35); [p] (pause:300)','self::span[@class="msup"]');(0,cvox.MathmlStoreRules.defineRule_)("mj-munderover","default.default",'[n] ./*[1]/*[2]/*[1] (pitch:0.35); [t] "under and";[n] ./*[1]/*[3]/*[1] (pitch:-0.35); [t] "over";[n] ./*[1]/*[1]/*[1]; [p] (pause:400)',
'self::span[@class="munderover"]');(0,cvox.MathmlStoreRules.defineRule_)("mj-munder","default.default",'[n] ./*[1]/*[2]/*[1] (pitch:0.35); [t] "under";[n] ./*[1]/*[1]/*[1]; [p] (pause:400)','self::span[@class="munder"]');(0,cvox.MathmlStoreRules.defineRule_)("mj-mover","default.default",'[n] ./*[1]/*[2]/*[1] (pitch:0.35); [t] "over";[n] ./*[1]/*[1]/*[1]; [p] (pause:400)','self::span[@class="mover"]');(0,cvox.MathmlStoreRules.defineRule_)("mj-mfrac","default.default",'[p] (pause:250); [n] ./*[1]/*[1]/*[1] (pitch:0.3); [p] (pause:250); [t] "divided by"; [n] ./*[1]/*[2]/*[1] (pitch:-0.3);[p] (pause:400)',
'self::span[@class="mfrac"]');(0,cvox.MathmlStoreRules.defineRule_)("mj-msqrt","default.default",'[t] "Square root of";[n] ./*[1]/*[1]/*[1] (rate:0.2); [p] (pause:400)','self::span[@class="msqrt"]');(0,cvox.MathmlStoreRules.defineRule_)("mj-mroot","default.default",'[t] "root of order"; [n] ./*[1]/*[4]/*[1]; [t] "of";[n] ./*[1]/*[1]/*[1] (rate:0.2); [p] (pause:400)','self::span[@class="mroot"]');(0,cvox.MathmlStoreRules.defineRule_)("mj-mfenced","default.default",'[t] "opening"; [n] ./*[1]; [m] ./*[position()>1 and position()<last()]; [t] "closing"; [n] ./*[last()]',
'self::span[@class="mfenced"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mtable"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-leaf",'self::span[@class="mmultiscripts"]')};
cvox.MathmlStoreRules.initAliases_=function(){(0,cvox.MathmlStoreRules.defineRuleAlias_)("mspace",'self::span[@class="mspace"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("mstyle",'self::span[@class="mstyle"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("mpadded",'self::span[@class="mpadded"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("merror",'self::span[@class="merror"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("mphantom",'self::span[@class="mphantom"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("ms",
'self::span[@class="ms"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("mrow",'self::span[@class="mrow"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-msub",'self::span[@class="msubsup"]',"CQFmathmlmsub");(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-msup",'self::span[@class="msubsup"]',"CQFmathmlmsup");(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-munder",'self::span[@class="munderover"]',"CQFmathmlmunder");(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-mover",'self::span[@class="munderover"]',
"CQFmathmlmover")};
cvox.MathmlStoreRules.initSpecializationRules_=function(){(0,cvox.MathmlStoreRules.defineRule_)("square","default.default",'[n] ./*[1]; [t] "square" (pitch:0.35); [p] (pause:300)',"self::mathml:msup","./*[2][text()=2]");(0,cvox.MathmlStoreRules.defineRuleAlias_)("square","self::mathml:msup","./mathml:mrow=./*[2]","count(./*[2]/*)=1","./*[2]/*[1][text()=2]");(0,cvox.MathmlStoreRules.defineRule_)("cube","default.default",'[n] ./*[1]; [t] "cube" (pitch:0.35); [p] (pause:300)',"self::mathml:msup","./*[2][text()=3]");
(0,cvox.MathmlStoreRules.defineRuleAlias_)("cube","self::mathml:msup","./mathml:mrow=./*[2]","count(./*[2]/*)=1","./*[2]/*[1][text()=3]");(0,cvox.MathmlStoreRules.defineRule_)("square-sub","default.default",'[n] ./*[1]; [t] "sub"; [n] ./*[2] (pitch:-0.35);[p] (pause:300); [t] "square" (pitch:0.35); [p] (pause:400)',"self::mathml:msubsup","./*[3][text()=2]");(0,cvox.MathmlStoreRules.defineRuleAlias_)("square-sub","self::mathml:msubsup","./mathml:mrow=./*[3]","count(./*[3]/*)=1","./*[3]/*[1][text()=2]");
(0,cvox.MathmlStoreRules.defineRule_)("cube-sub","default.default",'[n] ./*[1]; [t] "sub"; [n] ./*[2] (pitch:-0.35);[p] (pause:300); [t] "cube" (pitch:0.35); [p] (pause:400)',"self::mathml:msubsup","./*[3][text()=3]");(0,cvox.MathmlStoreRules.defineRuleAlias_)("cube-sub","self::mathml:msubsup","./mathml:mrow=./*[3]","count(./*[3]/*)=1","./*[3]/*[1][text()=3]");(0,cvox.MathmlStoreRules.defineRule_)("mj-square","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "square" (pitch:0.35); [p] (pause:300)','self::span[@class="msup"]',
"./*[1]/*[2]/*[1][text()=2]");(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-square",'self::span[@class="msup"]','./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]',"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=2]");(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-square",'self::span[@class="msubsup"]',"CQFmathmlmsup","./*[1]/*[2]/*[1][text()=2]");(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-square",'self::span[@class="msubsup"]',"CQFmathmlmsup",'./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]',
"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=2]");(0,cvox.MathmlStoreRules.defineRule_)("mj-cube","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "cube" (pitch:0.35); [p] (pause:300)','self::span[@class="msup"]',"./*[1]/*[2]/*[1][text()=3]");(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-cube",'self::span[@class="msup"]','./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]',"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=3]");(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-cube",
'self::span[@class="msubsup"]',"CQFmathmlmsup","./*[1]/*[2]/*[1][text()=3]");(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-cube",'self::span[@class="msubsup"]',"CQFmathmlmsup",'./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]',"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=3]");(0,cvox.MathmlStoreRules.defineRule_)("mj-square-sub","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "sub"; [n] ./*[1]/*[3]/*[1] (pitch:-0.35); [p] (pause:300); [t] "square" (pitch:0.35); [p] (pause:400)','self::span[@class="msubsup"]',
"./*[1]/*[2]/*[1][text()=2]");(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-square-sub",'self::span[@class="msubsup"]','./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]',"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=2]");(0,cvox.MathmlStoreRules.defineRule_)("mj-cube-sub","default.default",'[n] ./*[1]/*[1]/*[1]; [t] "sub"; [n] ./*[1]/*[3]/*[1] (pitch:-0.35); [p] (pause:300); [t] "cube" (pitch:0.35); [p] (pause:400)','self::span[@class="msubsup"]',"./*[1]/*[2]/*[1][text()=3]");(0,cvox.MathmlStoreRules.defineRuleAlias_)("mj-cube-sub",
'self::span[@class="msubsup"]','./*[1]/*[2]/*[1]=./*[1]/*[2]/span[@class="mrow"]',"count(./*[1]/*[2]/*[1]/*)=1","./*[1]/*[2]/*[1]/*[1][text()=3]")};
cvox.MathmlStoreRules.initSemanticRules_=function(){(0,cvox.MathmlStoreRules.defineRule_)("stree","default.default","[n] ./*[1]","self::stree");(0,cvox.MathmlStoreRules.defineRule_)("multrel","default.default",'[t] "multirelation"; [m] children/* (sepFunc:CTXFcontentIterator)',"self::multirel");(0,cvox.MathmlStoreRules.defineRule_)("variable-equality","default.default",'[t] "equation sequence"; [m] ./children/* (context:"part",ctxtFunc:CTXFnodeCounter,separator:./text())','self::relseq[@role="equality"]',
"count(./children/*)>2",'./children/punct[@role="ellipsis"]');(0,cvox.MathmlStoreRules.defineRule_)("multi-equality","default.default",'[t] "equation sequence"; [m] ./children/* (context:"part",ctxtFunc:CTXFnodeCounter,separator:./text())','self::relseq[@role="equality"]',"count(./children/*)>2");(0,cvox.MathmlStoreRules.defineRule_)("multi-equality","default.short",'[t] "equation sequence"; [m] ./children/* (separator:./text())','self::relseq[@role="equality"]',"count(./children/*)>2");(0,cvox.MathmlStoreRules.defineRule_)("equality",
"default.default",'[t] "equation"; [t] "left hand side"; [n] children/*[1];[p] (pause:200); [n] text() (pause:200);[t] "right hand side"; [n] children/*[2]','self::relseq[@role="equality"]',"count(./children/*)=2");(0,cvox.MathmlStoreRules.defineRule_)("simple-equality","default.default","[n] children/*[1]; [p] (pause:200); [n] text() (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/identifier or ./children/number");(0,cvox.MathmlStoreRules.defineRule_)("simple-equality2",
"default.default","[n] children/*[1]; [p] (pause:200); [n] text() (pause:200);[n] children/*[2]",'self::relseq[@role="equality"]',"count(./children/*)=2","./children/function or ./children/appl");(0,cvox.MathmlStoreRules.defineRule_)("multrel","default.default","[m] children/* (separator:./text())","self::relseq");(0,cvox.MathmlStoreRules.defineRule_)("binary-operation","default.default","[m] children/* (separator:text());","self::infixop");(0,cvox.MathmlStoreRules.defineRule_)("variable-addition",
"default.default",'[t] "sum with variable number of summands";[p] (pause:400); [m] children/* (separator:./text())','self::infixop[@role="addition"]',"count(children/*)>2",'children/punct[@role="ellipsis"]');(0,cvox.MathmlStoreRules.defineRule_)("multi-addition","default.default",'[t] "sum with,"; [t] count(./children/*); [t] ", summands";[p] (pause:400); [m] ./children/* (separator:./text())','self::infixop[@role="addition"]',"count(./children/*)>2");(0,cvox.MathmlStoreRules.defineRule_)("prefix",
"default.default",'[t] "prefix"; [n] text(); [t] "of" (pause 150);[n] children/*[1]',"self::prefixop");(0,cvox.MathmlStoreRules.defineRule_)("negative","default.default",'[t] "negative"; [n] children/*[1]',"self::prefixop",'self::prefixop[@role="negative"]');(0,cvox.MathmlStoreRules.defineRule_)("postfix","default.default",'[n] children/*[1]; [t] "postfix"; [n] text() (pause 300)',"self::postfixop");(0,cvox.MathmlStoreRules.defineRule_)("identifier","default.default","[n] text()","self::identifier");
(0,cvox.MathmlStoreRules.defineRule_)("number","default.default","[n] text()","self::number");(0,cvox.MathmlStoreRules.defineRule_)("fraction","default.default",'[p] (pause:250); [n] children/*[1] (pitch:0.3); [p] (pause:250); [t] "divided by"; [n] children/*[2] (pitch:-0.3); [p] (pause:400)',"self::fraction");(0,cvox.MathmlStoreRules.defineRule_)("superscript","default.default",'[n] children/*[1]; [t] "super"; [n] children/*[2] (pitch:0.35);[p] (pause:300)',"self::superscript");(0,cvox.MathmlStoreRules.defineRule_)("subscript",
"default.default",'[n] children/*[1]; [t] "sub"; [n] children/*[2] (pitch:-0.35);[p] (pause:300)',"self::subscript");(0,cvox.MathmlStoreRules.defineRule_)("ellipsis","default.default",'[p] (pause:200); [t] "dot dot dot"; [p] (pause:300)',"self::punct",'self::punct[@role="ellipsis"]');(0,cvox.MathmlStoreRules.defineRule_)("fence-single","default.default","[n] text()","self::punct",'self::punct[@role="openfence"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("fence-single","self::punct",'self::punct[@role="closefence"]');
(0,cvox.MathmlStoreRules.defineRuleAlias_)("fence-single","self::punct",'self::punct[@role="vbar"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("fence-single","self::punct",'self::punct[@role="application"]');(0,cvox.MathmlStoreRules.defineRule_)("omit-punct","default.default","[p] (pause:200);","self::punct");(0,cvox.MathmlStoreRules.defineRule_)("omit-empty","default.default","","self::empty");(0,cvox.MathmlStoreRules.defineRule_)("fences-open-close","default.default",'[p] (pause:100); [t] "open"; [n] children/*[1]; [p] (pause:200);[t] "close"',
'self::fenced[@role="leftright"]');(0,cvox.MathmlStoreRules.defineRule_)("fences-open-close-in-appl","default.default","[p] (pause:100); [n] children/*[1]; [p] (pause:200);",'self::fenced[@role="leftright"]',"./parent::children/parent::appl");(0,cvox.MathmlStoreRules.defineRule_)("fences-neutral","default.default",'[p] (pause:100); [t] "absolute value of"; [n] children/*[1];[p] (pause:350);',"self::fenced",'self::fenced[@role="neutral"]');(0,cvox.MathmlStoreRules.defineRule_)("omit-fences","default.default",
"[p] (pause:500); [n] children/*[1]; [p] (pause:200);","self::fenced");(0,cvox.MathmlStoreRules.defineRule_)("matrix","default.default",'[t] "matrix"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:100)',"self::matrix");(0,cvox.MathmlStoreRules.defineRule_)("matrix-row","default.default",'[m] children/* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)','self::row[@role="matrix"]');(0,cvox.MathmlStoreRules.defineRule_)("matrix-cell","default.default","[n] children/*[1]",'self::cell[@role="matrix"]');
(0,cvox.MathmlStoreRules.defineRule_)("vector","default.default",'[t] "vector"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"element",pause:100)',"self::vector");(0,cvox.MathmlStoreRules.defineRule_)("cases","default.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100)',"self::cases");(0,cvox.MathmlStoreRules.defineRule_)("cases-row","default.default","[m] children/*",'self::row[@role="cases"]');(0,cvox.MathmlStoreRules.defineRule_)("cases-cell",
"default.default","[n] children/*[1]",'self::cell[@role="cases"]');(0,cvox.MathmlStoreRules.defineRule_)("row","default.default",'[m] ./* (ctxtFunc:CTXFnodeCounter,context:"column",pause:100)','self::row"');(0,cvox.MathmlStoreRules.defineRule_)("cases-end","default.default",'[t] "case statement"; [m] children/* (ctxtFunc:CTXFnodeCounter,context:"case",pause:100);[t] "end cases"',"self::cases","following-sibling::*");(0,cvox.MathmlStoreRules.defineRule_)("multiline","default.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"line",pause:100)',
"self::multiline");(0,cvox.MathmlStoreRules.defineRule_)("line","default.default","[m] children/*","self::line");(0,cvox.MathmlStoreRules.defineRule_)("table","default.default",'[t] "multiline equation";[m] children/* (ctxtFunc:CTXFnodeCounter,context:"row",pause:200)',"self::table");(0,cvox.MathmlStoreRules.defineRule_)("table-row","default.default","[m] children/* (pause:100)",'self::row[@role="table"]');(0,cvox.MathmlStoreRules.defineRuleAlias_)("cases-cell",'self::cell[@role="table"]');(0,cvox.MathmlStoreRules.defineRule_)("end-punct",
"default.default","[m] children/*; [p] (pause:300)","self::punctuated",'@role="endpunct"');(0,cvox.MathmlStoreRules.defineRule_)("start-punct","default.default","[n] content/*[1]; [p] (pause:200); [m] children/*","self::punctuated",'@role="startpunct"');(0,cvox.MathmlStoreRules.defineRule_)("integral-punct","default.default","[n] children/*[1] (rate:0.2); [n] children/*[3] (rate:0.2)","self::punctuated",'@role="integral"');(0,cvox.MathmlStoreRules.defineRule_)("punctuated","default.default","[m] children/* (pause:100)",
"self::punctuated");(0,cvox.MathmlStoreRules.defineRule_)("function","default.default","[n] text()","self::function");(0,cvox.MathmlStoreRules.defineRule_)("appl","default.default","[n] children/*[1]; [n] content/*[1]; [n] children/*[2]","self::appl");(0,cvox.MathmlStoreRules.defineRule_)("limboth","default.default",'[n] children/*[1]; [t] "from"; [n] children/*[2]; [t] "to";[n] children/*[3]',"self::limboth");(0,cvox.MathmlStoreRules.defineRule_)("sum-only","default.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[p] (pause 250);',
"self::limboth",'self::limboth[@role="sum"]');(0,cvox.MathmlStoreRules.defineRule_)("limlower","default.default",'[n] children/*[1]; [t] "over"; [n] children/*[2];',"self::limlower");(0,cvox.MathmlStoreRules.defineRule_)("limupper","default.default",'[n] children/*[1]; [t] "under"; [n] children/*[2];',"self::limupper");(0,cvox.MathmlStoreRules.defineRule_)("largeop","default.default","[n] text()","self::largeop");(0,cvox.MathmlStoreRules.defineRule_)("bigop","default.default",'[n] children/*[1]; [p] (pause 100); [t] "over"; [n] children/*[2];[p] (pause 250);',
"self::bigop");(0,cvox.MathmlStoreRules.defineRule_)("integral","default.default","[n] children/*[1]; [p] (pause 100); [n] children/*[2]; [p] (pause 200);[n] children/*[3] (rate:0.35);","self::integral");(0,cvox.MathmlStoreRules.defineRule_)("sqrt","default.default",'[t] "Square root of"; [n] children/*[1] (rate:0.2); [p] (pause:400)',"self::sqrt");(0,cvox.MathmlStoreRules.defineRule_)("square","default.default",'[n] children/*[1]; [t] "square" (pitch:0.35); [p] (pause:300)',"self::superscript","children/*[2][text()=2]");
(0,cvox.MathmlStoreRules.defineRule_)("text-no-mult","default.default","[n] children/*[1]; [p] (pause:200); [n] children/*[2]","self::infixop","children/text")};cvox.AbstractShifter=function(){this.isSubnavigating_=!1};cvox.AbstractShifter.prototype.begin=function(a,b){return this.currentWalker_.begin(b)};cvox.AbstractShifter.prototype.makeLessGranular=function(){this.ensureNotSubnavigating()};cvox.AbstractShifter.prototype.makeMoreGranular=function(){this.ensureNotSubnavigating()};cvox.AbstractShifter.prototype.ensureSubnavigating=function(){!1==this.isSubnavigating_&&(this.makeMoreGranular(),this.isSubnavigating_=!0)};
cvox.AbstractShifter.prototype.ensureNotSubnavigating=function(){!0==this.isSubnavigating_&&(this.isSubnavigating_=!1,this.makeLessGranular())};cvox.AbstractShifter.prototype.isSubnavigating=function(){return this.isSubnavigating_};cvox.AbstractShifter.prototype.hasAction=function(a){return this.currentWalker_.hasAction(a)};cvox.AbstractShifter.prototype.performAction=function(a,b){return this.currentWalker_.performAction(a,b)};cvox.MathShifter=function(a){cvox.AbstractShifter.call(this);this.level_=0;this.bumped_=this.direction_=!1;cvox.TraverseMath.getInstance().initialize(a.start.node)};goog.inherits(cvox.MathShifter,cvox.AbstractShifter);cvox.MathShifter.prototype.next=function(a){var b=a.isReversed();this.bumped_=!cvox.TraverseMath.getInstance().nextSibling(b);return(b=cvox.TraverseMath.getInstance().getAttachedActiveNode())?cvox.CursorSelection.fromNode(b):a};
cvox.MathShifter.prototype.sync=function(a){var b=cvox.TraverseMath.getInstance().getAttachedActiveNode();return b?cvox.CursorSelection.fromNode(b):a};cvox.MathShifter.prototype.getName=function(){return cvox.ChromeVox.msgs.getMsg("math_shifter")};cvox.MathShifter.prototype.getDescription=function(){var a=cvox.SpeechRuleEngine.getInstance().evaluateNode(cvox.TraverseMath.getInstance().activeNode);this.bumped_&&0<a.length&&a[0].pushEarcon(cvox.AbstractEarcons.WRAP_EDGE);return a};
cvox.MathShifter.prototype.getBraille=function(a,b){return new cvox.NavBraille({text:cvox.BrailleUtil.getTemplated(a.start.node,b.start.node)})};cvox.MathShifter.prototype.getGranularityMsg=function(){return this.direction_?"up to level "+this.level_:"down to level "+this.level_};cvox.MathShifter.prototype.makeLessGranular=function(){this.level_=0<this.level_?this.level_-1:0;this.direction_=!0;this.bumped_=!cvox.TraverseMath.getInstance().nextParentChild(!0)};
cvox.MathShifter.prototype.makeMoreGranular=function(){this.direction_=!1;(this.bumped_=!cvox.TraverseMath.getInstance().nextParentChild(!1))||this.level_++};
cvox.MathShifter.create=function(a){if(cvox.DomPredicates.mathPredicate(cvox.DomUtil.getAncestors(a.start.node))){var b=cvox.DomUtil.getContainingMath(a.end.node);cvox.TraverseMath.getInstance().initialize(b);cvox.SpeechRuleEngine.getInstance().parameterize(cvox.MathmlStore.getInstance());b=cvox.MathStore.createDynamicConstraint(cvox.TraverseMath.getInstance().domain,cvox.TraverseMath.getInstance().style);cvox.SpeechRuleEngine.getInstance().setDynamicConstraint(b);return new cvox.MathShifter(a)}return null};cvox.TableUtil={};cvox.TableUtil.checkIfHeader=function(a){return"TH"==a.tagName||a.hasAttribute("scope")||a.hasAttribute("role")&&("rowheader"==a.getAttribute("role")||"columnheader"==a.getAttribute("role"))};
cvox.TableUtil.determineColGroups=function(a){var b=[];if(0==a.length)return b;for(var c=0;c<a.length;c++){var d=a[c],e=cvox.TableUtil.getColNodes(d);if(0<e.length)for(d=0;d<e.length;d++){var f=e[d];if(f.hasAttribute("span"))for(var f=parseInt(f.getAttribute("span"),10),g=0;g<f;g++)b.push(c);else b.push(c)}else if(d.hasAttribute("span"))for(f=parseInt(d.getAttribute("span"),10),g=0;g<f;g++)b.push(c);else b.push(c)}return b};cvox.TableUtil.pushIfNotContained=function(a,b){-1==a.indexOf(b)&&a.push(b)};
cvox.TableUtil.getChildRows=function(a){return cvox.XpathUtil.evalXPath('child::tbody/tr | child::thead/tr | child::*[attribute::role="row"]',a)};cvox.TableUtil.getChildCells=function(a){return cvox.XpathUtil.evalXPath('child::td | child::th | child::*[attribute::role="gridcell"] |child::*[attribute::role="rowheader"] |child::*[attribute::role="columnheader"]',a)};cvox.TableUtil.getCellWithID=function(a,b){return cvox.XpathUtil.evalXPath("id('"+b+"')",a)};
cvox.TableUtil.getColGroups=function(a){return cvox.XpathUtil.evalXPath("child::colgroup",a)};cvox.TableUtil.getColNodes=function(a){return cvox.XpathUtil.evalXPath("child::col",a)};function ShadowTableNode(){}ShadowTableNode.prototype.rowHeaderCells=[];ShadowTableNode.prototype.colHeaderCells=[];cvox.TraverseTable=function(a){this.activeTable_=null;this.shadowTable_=[];this.candidateHeaders_=[];this.idToShadowNode_=[];this.initialize(a)};cvox.TraverseTable.prototype.colCount=null;cvox.TraverseTable.prototype.rowCount=null;cvox.TraverseTable.prototype.tableRowHeaders=null;cvox.TraverseTable.prototype.tableColHeaders=null;
cvox.TraverseTable.prototype.initialize=function(a){a&&a!=this.activeTable_&&(this.activeTable_=a,this.currentCellCursor=null,this.tableRowHeaders=[],this.tableColHeaders=[],this.buildShadowTable_(),this.colCount=this.shadowColCount_(),this.rowCount=this.countRows_(),this.findHeaderCells_(),this.activeTable_.addEventListener("DOMSubtreeModified",goog.bind(function(){this.buildShadowTable_();this.colCount=this.shadowColCount_();this.rowCount=this.countRows_();this.tableRowHeaders=[];this.tableColHeaders=
[];this.findHeaderCells_();0==this.colCount&&0==this.rowCount||null!=this.getCell()||this.attachCursorToNearestCell_()},this),!1))};
cvox.TraverseTable.prototype.findNearestCursor=function(a){for(;a.firstElementChild&&"TABLE"!=a.firstElementChild.tagName&&!cvox.AriaUtil.isGrid(a.firstElementChild);)a=a.firstElementChild;for(;!cvox.DomPredicates.cellPredicate(cvox.DomUtil.getAncestors(a));)if(a=cvox.DomUtil.directedNextLeafNode(a),!cvox.DomUtil.getContainingTable(a,{allowCaptions:!0}))return null;for(var b=0;b<this.rowCount;++b)for(var c=0;c<this.colCount;++c)if(this.shadowTable_[b][c]&&cvox.DomUtil.isDescendantOfNode(a,this.shadowTable_[b][c].activeCell))return[b,
c];return null};cvox.TraverseTable.prototype.attachCursorToNearestCell_=function(){if(this.currentCellCursor){var a=this.currentCellCursor,b=this.shadowTable_[a[0]];if(b)this.currentCellCursor=[a[0],b.length-1];else if(b=this.shadowTable_.length,0==b)this.currentCellCursor=null;else{var c=this.shadowTable_[b-1][a[1]];c?this.currentCellCursor=[b-1,a[1]]:this.goToLastCell()}}else this.goToLastCell()};
cvox.TraverseTable.prototype.buildShadowTable_=function(){this.shadowTable_=[];for(var a=cvox.TableUtil.getChildRows(this.activeTable_),b=null,c=null,d=cvox.TableUtil.getColGroups(this.activeTable_),d=cvox.TableUtil.determineColGroups(d),e=0;e<a.length;e++)this.shadowTable_.push([]);for(e=0;e<a.length;e++)for(var f=cvox.TableUtil.getChildCells(a[e]),g=0,h=0;g<f.length;)if(null==this.shadowTable_[e][h]){var k=f[g],l=1,m=1;k.hasAttribute("colspan")&&(l=parseInt(k.getAttribute("colspan"),10),isNaN(l)||
0>=l)&&(l=1);k.hasAttribute("rowspan")&&(m=parseInt(k.getAttribute("rowspan"),10),isNaN(m)||0>=m)&&(m=1);for(var p=0;p<m;p++)for(var q=0;q<l;q++){var n=new ShadowTableNode;0==p&&0==q?(n.spanned=!1,n.rowSpan=!1,n.colSpan=!1):(n.spanned=!0,n.rowSpan=1<m,n.colSpan=1<l);n.i=e;n.j=h;n.activeCell=k;n.rowHeaderCells=[];n.colHeaderCells=[];n.isRowHeader=!1;n.isColHeader=!1;cvox.TableUtil.checkIfHeader(n.activeCell)?this.candidateHeaders_.push(n):n.activeCell.hasAttribute("headers")&&this.candidateHeaders_.push(n);
null==b?(b=a[e].parentNode,c=0):a[e].parentNode!=b&&(b=a[e].parentNode,c+=1);n.rowGroup=c;n.colGroup=0<d.length?d[h]:0;n.spanned||null!=k.id&&(this.idToShadowNode_[k.id]=n);this.shadowTable_[e+p][h+q]=n}h+=l;g++}else h+=1;return this.shadowTable_};
cvox.TraverseTable.prototype.findHeaderCells_=function(){for(var a=0;a<this.candidateHeaders_.length;a++){var b=this.candidateHeaders_[a],c=b.activeCell,d=null,e=null;if(!b.spanned){"TH"!=c.tagName||c.hasAttribute("scope")?c.hasAttribute("scope")?e=c.getAttribute("scope"):c.hasAttribute("role")&&"rowheader"==c.getAttribute("role")?e="row":c.hasAttribute("role")&&"columnheader"==c.getAttribute("role")&&(e="col"):(0<b.j?"TH"==this.shadowTable_[b.i][b.j-1].activeCell.tagName&&(d="col"):b.j<this.shadowTable_[b.i].length-
1?"TH"==this.shadowTable_[b.i][b.j+1].activeCell.tagName&&(d="col"):d="col",null==d&&(0<b.i?"TH"==this.shadowTable_[b.i-1][b.j].activeCell.tagName&&(d="row"):b.i<this.shadowTable_.length-1?"TH"==this.shadowTable_[b.i+1][b.j].activeCell.tagName&&(d="row"):d="row"));if("row"==e||"row"==d){b.isRowHeader=!0;for(d=b.j;d<this.shadowTable_[b.i].length;d++)e=this.shadowTable_[b.i][d],e.rowHeaderCells.push(c);this.tableRowHeaders.push(c)}else if("col"==e||"col"==d){b.isColHeader=!0;for(e=b.i;e<this.shadowTable_.length;e++){d=
this.shadowTable_[e][b.j];if(null==d)break;d.colHeaderCells.push(c)}this.tableColHeaders.push(c)}else if("rowgroup"==e){b.isRowHeader=!0;for(var f=b.rowGroup,d=b.j+1;d<this.shadowTable_[b.i].length;d++)this.shadowTable_[b.i][d].rowHeaderCells.push(c);for(e=b.i+1;e<this.shadowTable_.length&&this.shadowTable_[e][0].rowGroup==f;e++)for(d=0;d<this.shadowTable_[e].length;d++)this.shadowTable_[e][d].rowHeaderCells.push(c);this.tableRowHeaders.push(c)}else if("colgroup"==e){b.isColHeader=!0;f=b.colGroup;
for(d=b.j+1;d<this.shadowTable_[b.i].length;d++)this.shadowTable_[b.i][d].colGroup==f&&this.shadowTable_[b.i][d].colHeaderCells.push(c);for(e=b.i+1;e<this.shadowTable_.length;e++)for(d=0;d<this.shadowTable_[e].length;d++)this.shadowTable_[e][d].colGroup==f&&this.shadowTable_[e][d].colHeaderCells.push(c);this.tableColHeaders.push(c)}c.hasAttribute("headers")&&this.findAttrbHeaders_(b);c.hasAttribute("aria-describedby")&&this.findAttrbDescribedBy_(b)}}};
cvox.TraverseTable.prototype.findAttrbHeaders_=function(a){for(var b=a.activeCell,c=b.getAttribute("headers").split(" "),d=0;d<c.length;d++)for(var e=cvox.TableUtil.getCellWithID(this.activeTable_,c[d]),f=0;f<e.length&&e[f].id!=b.id;f++){var g=this.idToShadowNode_[e[f].id];if(!cvox.TableUtil.checkIfHeader(g.activeCell)){var h=Math.abs(g.i-a.i),k=Math.abs(g.j-a.j);0==h||h<k?(cvox.TableUtil.pushIfNotContained(a.rowHeaderCells,g.activeCell),cvox.TableUtil.pushIfNotContained(this.tableRowHeaders,g.activeCell)):
(cvox.TableUtil.pushIfNotContained(a.colHeaderCells,g.activeCell),cvox.TableUtil.pushIfNotContained(this.tableColHeaders,g.activeCell))}}};
cvox.TraverseTable.prototype.findAttrbDescribedBy_=function(a){for(var b=a.activeCell,c=b.getAttribute("aria-describedby").split(" "),d=0;d<c.length;d++)for(var e=cvox.TableUtil.getCellWithID(this.activeTable_,c[d]),f=0;f<e.length&&e[f].id!=b.id;f++){var g=this.idToShadowNode_[e[f].id];cvox.TableUtil.checkIfHeader(g.activeCell)||(g.activeCell.hasAttribute("role")&&"rowheader"==g.activeCell.getAttribute("role")?(cvox.TableUtil.pushIfNotContained(a.rowHeaderCells,g.activeCell),cvox.TableUtil.pushIfNotContained(this.tableRowHeaders,
g.activeCell)):g.activeCell.hasAttribute("role")&&"columnheader"==g.activeCell.getAttribute("role")&&(cvox.TableUtil.pushIfNotContained(a.colHeaderCells,g.activeCell),cvox.TableUtil.pushIfNotContained(this.tableColHeaders,g.activeCell)))}};cvox.TraverseTable.prototype.getCell=function(){if(!this.currentCellCursor||!this.shadowTable_)return null;var a=this.shadowTable_[this.currentCellCursor[0]][this.currentCellCursor[1]];return a&&a.activeCell};
cvox.TraverseTable.prototype.getCellAt=function(a){return a[0]<this.rowCount&&0<=a[0]&&a[1]<this.colCount&&0<=a[1]&&(a=this.shadowTable_[a[0]][a[1]],null!=a)?a.activeCell:null};cvox.TraverseTable.prototype.getCellRowHeaders=function(){var a=this.shadowTable_[this.currentCellCursor[0]][this.currentCellCursor[1]];return a.rowHeaderCells};cvox.TraverseTable.prototype.getCellColHeaders=function(){var a=this.shadowTable_[this.currentCellCursor[0]][this.currentCellCursor[1]];return a.colHeaderCells};
cvox.TraverseTable.prototype.isSpanned=function(){var a=this.shadowTable_[this.currentCellCursor[0]][this.currentCellCursor[1]];return a.spanned};cvox.TraverseTable.prototype.isRowHeader=function(){var a=this.shadowTable_[this.currentCellCursor[0]][this.currentCellCursor[1]];return a.isRowHeader};cvox.TraverseTable.prototype.isColHeader=function(){var a=this.shadowTable_[this.currentCellCursor[0]][this.currentCellCursor[1]];return a.isColHeader};
cvox.TraverseTable.prototype.getCol=function(){for(var a=[],b=0;b<this.shadowTable_.length;b++)if(this.shadowTable_[b][this.currentCellCursor[1]]){var c=this.shadowTable_[b][this.currentCellCursor[1]];if(c.colSpan&&c.rowSpan){var d=a[a.length-1];d!=c.activeCell&&a.push(c.activeCell)}else!c.colSpan&&c.rowSpan||a.push(c.activeCell)}return a};cvox.TraverseTable.prototype.summaryText=function(){return this.activeTable_.hasAttribute("summary")?this.activeTable_.getAttribute("summary"):null};
cvox.TraverseTable.prototype.shadowColCount_=function(){for(var a=0,b=0;b<this.shadowTable_.length;b++)this.shadowTable_[b].length>a&&(a=this.shadowTable_[b].length);return a};cvox.TraverseTable.prototype.countRows_=function(){var a=cvox.TableUtil.getChildRows(this.activeTable_);return a.length};cvox.TraverseTable.prototype.nextRow=function(){return this.currentCellCursor?this.goToRow(this.currentCellCursor[0]+1):this.goToRow(0)};
cvox.TraverseTable.prototype.nextCol=function(){return this.currentCellCursor?this.goToCol(this.currentCellCursor[1]+1):this.goToCol(0)};cvox.TraverseTable.prototype.goToRow=function(a){return null!=this.shadowTable_[a]?(this.currentCellCursor=null==this.currentCellCursor?[a,0]:[a,this.currentCellCursor[1]],!0):!1};cvox.TraverseTable.prototype.goToCol=function(a){if(0>a||a>=this.colCount)return!1;this.currentCellCursor=null==this.currentCellCursor?[0,a]:[this.currentCellCursor[0],a];return!0};
cvox.TraverseTable.prototype.goToCell=function(a){if(a[0]<this.rowCount&&0<=a[0]&&a[1]<this.colCount&&0<=a[1]){var b=this.shadowTable_[a[0]][a[1]];if(null!=b)return this.currentCellCursor=a,!0}return!1};cvox.TraverseTable.prototype.goToLastCell=function(){var a=this.shadowTable_.length;if(0==a)return!1;var b=this.shadowTable_[a-1],a=[a-1,b.length-1],b=this.shadowTable_[a[0]][a[1]];return null!=b?(this.currentCellCursor=a,!0):!1};
cvox.TraverseTable.prototype.goToRowLastCell=function(){var a=this.currentCellCursor[0],a=[a,this.shadowTable_[a].length-1],b=this.shadowTable_[a[0]][a[1]];return null!=b?(this.currentCellCursor=a,!0):!1};cvox.TraverseTable.prototype.goToColLastCell=function(){var a=this.getCol(),a=[a.length-1,this.currentCellCursor[1]],b=this.shadowTable_[a[0]][a[1]];return null!=b?(this.currentCellCursor=a,!0):!1};cvox.TableWalker=function(){this.tt=new cvox.TraverseTable(null)};goog.inherits(cvox.TableWalker,cvox.AbstractWalker);cvox.TableWalker.prototype.next=function(a){return this.nextRow(a)};cvox.TableWalker.prototype.sync=function(a){return this.goTo_(a,goog.bind(function(a){return this.tt.goToCell(a)},this))};
cvox.TableWalker.prototype.getDescription=function(a,b){var c=this.syncPosition_(b);if(!c)return[];this.tt.goToCell(c);c=cvox.DescriptionUtil.getCollectionDescription(a,b);0==c.length&&c.push(new cvox.NavDescription({annotation:cvox.ChromeVox.msgs.getMsg("empty_cell")}));return c};cvox.TableWalker.prototype.getBraille=function(a,b){new cvox.NavBraille({});var c=this.syncPosition_(b);if(c){var d=cvox.BrailleUtil.getTemplated(a.start.node,b.start.node);d.append(" "+ ++c[0]+"/"+ ++c[1])}return new cvox.NavBraille({text:d})};
cvox.TableWalker.prototype.goToFirstCell=function(a){return this.goTo_(a,goog.bind(function(){return this.tt.goToCell([0,0])},this))};cvox.TableWalker.prototype.goToLastCell=function(a){return this.goTo_(a,goog.bind(function(){return this.tt.goToLastCell()},this))};cvox.TableWalker.prototype.goToRowFirstCell=function(a){return this.goTo_(a,goog.bind(function(a){return this.tt.goToCell([a[0],0])},this))};
cvox.TableWalker.prototype.goToRowLastCell=function(a){return this.goTo_(a,goog.bind(function(){return this.tt.goToRowLastCell()},this))};cvox.TableWalker.prototype.goToColFirstCell=function(a){return this.goTo_(a,goog.bind(function(a){return this.tt.goToCell([0,a[1]])},this))};cvox.TableWalker.prototype.goToColLastCell=function(a){return this.goTo_(a,goog.bind(function(){return this.tt.goToColLastCell()},this))};
cvox.TableWalker.prototype.nextRow=function(a){return this.goTo_(a,goog.bind(function(b){return this.tt.goToCell([b[0]+(a.isReversed()?-1:1),b[1]])},this))};cvox.TableWalker.prototype.nextCol=function(a){return this.goTo_(a,goog.bind(function(b){return this.tt.goToCell([b[0],b[1]+(a.isReversed()?-1:1)])},this))};cvox.TableWalker.prototype.announceHeaders=function(a){cvox.ChromeVox.tts.speak(this.getHeaderText_(a),cvox.AbstractTts.QUEUE_MODE_FLUSH,cvox.AbstractTts.PERSONALITY_ANNOTATION);return a};
cvox.TableWalker.prototype.speakTableLocation=function(a){cvox.ChromeVox.navigationManager.speakDescriptionArray(this.getLocationDescription_(a),cvox.AbstractTts.QUEUE_MODE_FLUSH,null);return a};cvox.TableWalker.prototype.exitShifterContent=function(a){a=this.getTableNode_(a);if(!a)return null;a=cvox.DomUtil.directedNextLeafNode(a,!1);return cvox.CursorSelection.fromNode(a)};
cvox.TableWalker.prototype.getHeaderText_=function(a){this.tt.initialize(this.getTableNode_(a));return(a=this.tt.findNearestCursor(a.start.node))&&this.tt.goToCell(a)?this.getRowHeaderText_(a)+" "+this.getColHeaderText_(a):cvox.ChromeVox.msgs.getMsg("not_inside_table")};cvox.TableWalker.prototype.getLocationDescription_=function(a){a=this.getLocationInfo(a);return null==a?null:[new cvox.NavDescription({text:cvox.ChromeVox.msgs.getMsg("table_location",a)})]};
cvox.TableWalker.prototype.getRowHeaderText_=function(a){var b="",c=this.tt.getCellRowHeaders();if(0==c.length)return c=this.tt.getCellAt([a[0],0]),b+=cvox.DomUtil.collapseWhitespace(cvox.DomUtil.getValue(c)+" "+cvox.DomUtil.getName(c)),cvox.ChromeVox.msgs.getMsg("row_header")+b;for(a=0;a<c.length;++a)b+=cvox.DomUtil.collapseWhitespace(cvox.DomUtil.getValue(c[a])+" "+cvox.DomUtil.getName(c[a]));return""==b?cvox.ChromeVox.msgs.getMsg("empty_row_header"):cvox.ChromeVox.msgs.getMsg("row_header")+b};
cvox.TableWalker.prototype.getColHeaderText_=function(a){var b="",c=this.tt.getCellColHeaders();if(0==c.length)return c=this.tt.getCellAt([0,a[1]]),b+=cvox.DomUtil.collapseWhitespace(cvox.DomUtil.getValue(c)+" "+cvox.DomUtil.getName(c)),cvox.ChromeVox.msgs.getMsg("column_header")+b;for(a=0;a<c.length;++a)b+=cvox.DomUtil.collapseWhitespace(cvox.DomUtil.getValue(c[a])+" "+cvox.DomUtil.getName(c[a]));return""==b?cvox.ChromeVox.msgs.getMsg("empty_row_header"):cvox.ChromeVox.msgs.getMsg("column_header")+
b};cvox.TableWalker.prototype.getLocationInfo=function(a){this.tt.initialize(this.getTableNode_(a));return(a=this.tt.findNearestCursor(a.start.node))?[a[0]+1,this.tt.rowCount,a[1]+1,this.tt.colCount].map(function(a){return cvox.ChromeVox.msgs.getNumber(a)}):null};
cvox.TableWalker.prototype.goTo_=function(a,b){this.tt.initialize(this.getTableNode_(a));var c=this.tt.findNearestCursor(a.end.node);if(!c)return null;this.tt.goToCell(c);return b(c)?cvox.CursorSelection.fromNode(this.tt.getCell()).setReversed(a.isReversed()):null};cvox.TableWalker.prototype.getTableNode_=function(a){return cvox.DomUtil.getContainingTable(a.end.node)};cvox.TableWalker.prototype.syncPosition_=function(a){var b=this.getTableNode_(a);this.tt.initialize(b);return this.tt.findNearestCursor(a.end.node)};cvox.ColumnWalker=function(){cvox.TableWalker.call(this)};goog.inherits(cvox.ColumnWalker,cvox.TableWalker);cvox.ColumnWalker.prototype.next=function(a){return this.nextCol(a)};cvox.ColumnWalker.prototype.getGranularityMsg=function(){return cvox.ChromeVox.msgs.getMsg("column_granularity")};cvox.RowWalker=function(){cvox.TableWalker.call(this)};goog.inherits(cvox.RowWalker,cvox.TableWalker);cvox.RowWalker.prototype.next=function(a){return this.nextRow(a)};cvox.RowWalker.prototype.getGranularityMsg=function(){return cvox.ChromeVox.msgs.getMsg("row_granularity")};cvox.TableShifter=function(){this.rowWalker_=new cvox.RowWalker;this.columnWalker_=new cvox.ColumnWalker;this.currentWalker_=this.rowWalker_;this.bumpedEdge_=!1;this.begin_=!0;cvox.AbstractShifter.call(this)};goog.inherits(cvox.TableShifter,cvox.AbstractShifter);cvox.TableShifter.prototype.next=function(a){var b=this.currentWalker_.next(a);return b?b:(this.bumpedEdge_=!0,a)};
cvox.TableShifter.prototype.sync=function(a){return"TABLE"==a.start.node.tagName?a.isReversed()?this.currentWalker_.goToLastCell(a):this.currentWalker_.goToFirstCell(a):this.currentWalker_.sync(a)};cvox.TableShifter.prototype.getName=function(){return cvox.ChromeVox.msgs.getMsg("table_shifter")};
cvox.TableShifter.prototype.getDescription=function(a,b){var c=this.currentWalker_.getDescription(a,b);if(0<c.length&&(this.bumpedEdge_&&(c[0].pushEarcon(cvox.AbstractEarcons.WRAP_EDGE),this.bumpedEdge_=!1),this.begin_)){var d=this.currentWalker_.tt.summaryText(),e=this.currentWalker_.getLocationInfo(b);null!=e&&c.push(new cvox.NavDescription({context:cvox.ChromeVox.msgs.getMsg("table_location",e),text:"",annotation:d?d+" ":""}));this.currentWalker_.tt.isSpanned()&&c.push(new cvox.NavDescription({text:"",
annotation:cvox.ChromeVox.msgs.getMsg("spanned")}));this.begin_=!1}return c};cvox.TableShifter.prototype.getBraille=function(a,b){return this.currentWalker_.getBraille(a,b)};cvox.TableShifter.prototype.getGranularityMsg=function(){return this.currentWalker_.getGranularityMsg()};cvox.TableShifter.prototype.makeLessGranular=function(){cvox.TableShifter.superClass_.makeLessGranular.call(this);this.currentWalker_=this.rowWalker_};
cvox.TableShifter.prototype.makeMoreGranular=function(){cvox.TableShifter.superClass_.makeMoreGranular.call(this);this.currentWalker_=this.columnWalker_};cvox.TableShifter.create=function(a){a=cvox.DomUtil.getAncestors(a.start.node);return cvox.DomPredicates.tablePredicate(a)&&!cvox.DomPredicates.captionPredicate(a)?new cvox.TableShifter:null};cvox.NavigationHistory=function(){this.reset_()};cvox.NavigationHistory.MAX_HISTORY_LEN_=30;cvox.NavigationHistory.prototype.reset_=function(){var a=document.body;this.history_=[a];this.arrivedValid_=!0};cvox.NavigationHistory.prototype.update=function(a){var b=this.history_[0];a&&a!=b&&this.history_.unshift(a);this.history_.length>cvox.NavigationHistory.MAX_HISTORY_LEN_&&this.history_.pop();this.arrivedValid_=this.isValidNode_(a)};
cvox.NavigationHistory.prototype.becomeInvalid=function(a){this.clean_();return this.arrivedValid_?!this.isValidNode_(a):(this.arrivedValid_=!0,!1)};cvox.NavigationHistory.prototype.revert=function(a){var b=document.activeElement;b!=document.body&&this.isValidNode_(b)&&this.update(b);if(a)for(;0<this.history_.length;){b=this.history_[0];if(a(b))break;this.history_.shift()}return{current:this.history_[0],previous:this.history_[1]}};
cvox.NavigationHistory.prototype.clean_=function(){for(var a=!1,b=this.history_.length-1;0<=b;b--){var c=this.isValidNode_(this.history_[b]);c||(this.history_.splice(b,1),a=!0)}return a};cvox.NavigationHistory.prototype.isValidNode_=function(a){return cvox.DomUtil.isAttachedToDocument(a)&&cvox.DomUtil.isVisible(a)?!0:!1};cvox.TraverseContent=function(a){this.currentDomObj=null!=a?a:document.body;var b=document.createRange();try{b.selectNode(this.currentDomObj),this.startCursor_=new cvox.Cursor(b.startContainer,b.startOffset,cvox.TraverseUtil.getNodeText(b.startContainer)),this.endCursor_=new cvox.Cursor(b.endContainer,b.endOffset,cvox.TraverseUtil.getNodeText(b.endContainer))}catch(c){window.console.log("Error: Unselectable node:"),window.console.log(a)}};goog.addSingletonGetter(cvox.TraverseContent);
cvox.TraverseContent.prototype.lastSelectionWasWhitespace=!1;cvox.TraverseContent.prototype.skipWhitespace=!1;cvox.TraverseContent.prototype.skipInvalidSelections=!0;cvox.TraverseContent.prototype.breakAtLinks=!0;cvox.TraverseContent.kCharacter="character";cvox.TraverseContent.kWord="word";cvox.TraverseContent.kSentence="sentence";cvox.TraverseContent.kLine="line";cvox.TraverseContent.kParagraph="paragraph";
cvox.TraverseContent.kAllGrains=[cvox.TraverseContent.kParagraph,cvox.TraverseContent.kSentence,cvox.TraverseContent.kLine,cvox.TraverseContent.kWord,cvox.TraverseContent.kCharacter];cvox.TraverseContent.prototype.syncToCursorSelection=function(a){this.startCursor_=a.start.clone();this.endCursor_=a.end.clone()};cvox.TraverseContent.prototype.getCurrentCursorSelection=function(){return new cvox.CursorSelection(this.startCursor_,this.endCursor_)};
cvox.TraverseContent.prototype.updateSelection=function(){cvox.TraverseUtil.setSelection(this.startCursor_,this.endCursor_);cvox.SelectionUtil.scrollToSelection(window.getSelection())};cvox.TraverseContent.prototype.getCurrentRange=function(){var a=document.createRange();try{a.setStart(this.startCursor_.node,this.startCursor_.index),a.setEnd(this.endCursor_.node,this.endCursor_.index)}catch(b){console.log("Invalid range ")}return a};cvox.TraverseContent.prototype.getCurrentText=function(){return cvox.SelectionUtil.getRangeText(this.getCurrentRange())};
cvox.TraverseContent.prototype.collapseToEnd=function(){this.startCursor_=this.endCursor_.clone()};cvox.TraverseContent.prototype.collapseToStart=function(){this.endCursor_=this.startCursor_.clone()};
cvox.TraverseContent.prototype.moveNext=function(a){var b=this.getBreakTags(),c=this.skipWhitespace,d=this.getCurrentRange();cvox.SelectionUtil.isRangeValid(d)||(c=!0);var e=[],f=[];do{a===cvox.TraverseContent.kSentence?d=cvox.TraverseUtil.getNextSentence(this.startCursor_,this.endCursor_,e,f,b):a===cvox.TraverseContent.kWord?d=cvox.TraverseUtil.getNextWord(this.startCursor_,this.endCursor_,e,f):a===cvox.TraverseContent.kCharacter?d=cvox.TraverseUtil.getNextChar(this.startCursor_,this.endCursor_,
e,f,c):a===cvox.TraverseContent.kParagraph?d=cvox.TraverseUtil.getNextParagraph(this.startCursor_,this.endCursor_,e,f):a===cvox.TraverseContent.kLine?d=cvox.TraverseUtil.getNextLine(this.startCursor_,this.endCursor_,e,f,b):(window.console.log('Invalid selection granularity: "'+a+'"'),a=cvox.TraverseContent.kSentence,d=cvox.TraverseUtil.getNextSentence(this.startCursor_,this.endCursor_,e,f,b));if(null==d)return null;var d=this.getCurrentRange(),g=!d.getBoundingClientRect()}while(this.skipInvalidSelections&&
g);if(cvox.SelectionUtil.isRangeValid(d))this.lastSelectionWasWhitespace=!1;else if(this.lastSelectionWasWhitespace||a!=cvox.TraverseContent.kCharacter)for(;!cvox.SelectionUtil.isRangeValid(this.getCurrentRange())&&null!=this.moveNext(a););else this.lastSelectionWasWhitespace=!0;return this.getCurrentText()};
cvox.TraverseContent.prototype.movePrev=function(a){var b=this.getBreakTags(),c=this.skipWhitespace,d=this.getCurrentRange();cvox.SelectionUtil.isRangeValid(d)||(c=!0);var e=[],f=[];do{a===cvox.TraverseContent.kSentence?d=cvox.TraverseUtil.getPreviousSentence(this.startCursor_,this.endCursor_,e,f,b):a===cvox.TraverseContent.kWord?d=cvox.TraverseUtil.getPreviousWord(this.startCursor_,this.endCursor_,e,f):a===cvox.TraverseContent.kCharacter?d=cvox.TraverseUtil.getPreviousChar(this.startCursor_,this.endCursor_,
e,f,c):a===cvox.TraverseContent.kParagraph?d=cvox.TraverseUtil.getPreviousParagraph(this.startCursor_,this.endCursor_,e,f):a===cvox.TraverseContent.kLine?d=cvox.TraverseUtil.getPreviousLine(this.startCursor_,this.endCursor_,e,f,b):(window.console.log('Invalid selection granularity: "'+a+'"'),a=cvox.TraverseContent.kSentence,d=cvox.TraverseUtil.getPreviousSentence(this.startCursor_,this.endCursor_,e,f,b));if(null==d)return null;var d=this.getCurrentRange(),g=!d.getBoundingClientRect()}while(this.skipInvalidSelections&&
g);if(cvox.SelectionUtil.isRangeValid(d))this.lastSelectionWasWhitespace=!1;else if(this.lastSelectionWasWhitespace||a!=cvox.TraverseContent.kCharacter)for(;!cvox.SelectionUtil.isRangeValid(this.getCurrentRange())&&null!=this.movePrev(a););else this.lastSelectionWasWhitespace=!0;return this.getCurrentText()};cvox.TraverseContent.prototype.getBreakTags=function(){return{A:this.breakAtLinks,BR:!0,HR:!0}};
cvox.TraverseContent.prototype.nextElement=function(a,b){null!=b&&(this.currentDomObj=b);var c=this.moveNext(a);return null==c||cvox.DomUtil.isDescendantOfNode(this.startCursor_.node,this.currentDomObj)&&cvox.DomUtil.isDescendantOfNode(this.endCursor_.node,this.currentDomObj)?c:null};
cvox.TraverseContent.prototype.prevElement=function(a,b){null!=b&&(this.currentDomObj=b);var c=this.movePrev(a);return null==c||cvox.DomUtil.isDescendantOfNode(this.startCursor_.node,this.currentDomObj)&&cvox.DomUtil.isDescendantOfNode(this.endCursor_.node,this.currentDomObj)?c:null};cvox.TraverseContent.prototype.reset=function(){window.getSelection().removeAllRanges()};cvox.AbstractSelectionWalker=function(){this.objWalker_=new cvox.BareObjectWalker;this.tc_=cvox.TraverseContent.getInstance();this.grain=""};goog.inherits(cvox.AbstractSelectionWalker,cvox.AbstractWalker);
cvox.AbstractSelectionWalker.prototype.next=function(a){var b=a.isReversed();this.tc_.syncToCursorSelection(a.clone().setReversed(!1));var c=b?this.tc_.prevElement(this.grain):this.tc_.nextElement(this.grain);if(null==c)return this.objWalker_.next(a);var c=this.tc_.getCurrentCursorSelection().setReversed(b),d=this.objWalker_.next(a),d=d?d.setReversed(b):null;return!d||"Text"==c.end.node.constructor.name&&"Text"==d.end.node.constructor.name||cvox.DomUtil.isDescendantOfNode(c.end.node,a.end.node)||
cvox.DomUtil.isDescendantOfNode(c.end.node,d.end.node)?c:d};
cvox.AbstractSelectionWalker.prototype.sync=function(a){var b=a.isReversed(),c=null;if(a.start.equals(a.end)&&"Text"!=a.start.node.constructor.name){for(c=a.start.node;c&&cvox.DomUtil.directedFirstChild(c,b)&&!cvox.TraverseUtil.treatAsLeafNode(c);){for(var d=cvox.DomUtil.directedFirstChild(c,b);d;)if(cvox.DomUtil.isVisible(d,{checkAncestors:!1,checkDescendants:!1})){c=d;break}else d=cvox.DomUtil.directedNextSibling(d,b);if(!d)break}c=cvox.CursorSelection.fromNode(c)}else c=a.clone(),b?c.start=c.end:
c.end=c.start;c=this.next(c.setReversed(!1));d=(d=this.objWalker_.sync(a))?d.setReversed(b):null;if(!c)return d;c.setReversed(b);return!d||"Text"==c.end.node.constructor.name&&"Text"==d.end.node.constructor.name||cvox.DomUtil.isDescendantOfNode(c.end.node,a.end.node)||cvox.DomUtil.isDescendantOfNode(c.end.node,d.end.node)?c:d};
cvox.AbstractSelectionWalker.prototype.getDescription=function(a,b){var c=cvox.DescriptionUtil.getDescriptionFromAncestors(cvox.DomUtil.getUniqueAncestors(a.end.node,b.start.node),!0,cvox.ChromeVox.verbosity);c.text=b.getText()||c.text;return[c]};cvox.AbstractSelectionWalker.prototype.getBraille=function(a,b){var c=b.absStart().node,d=cvox.TraverseUtil.getNodeText(c),e=new cvox.Spannable(d);e.setSpan(c,0,d.length);return new cvox.NavBraille({text:e,startIndex:b.absStart().index,endIndex:b.absEnd().index})};cvox.CharacterWalker=function(){cvox.AbstractSelectionWalker.call(this);this.grain=cvox.TraverseContent.kCharacter};goog.inherits(cvox.CharacterWalker,cvox.AbstractSelectionWalker);cvox.CharacterWalker.prototype.getDescription=function(a,b){var c=cvox.CharacterWalker.superClass_.getDescription.call(this,a,b);c.forEach(function(a){a.personality||(a.personality={});a.personality.phoneticCharacters=!0});return c};cvox.CharacterWalker.prototype.getGranularityMsg=function(){return cvox.ChromeVox.msgs.getMsg("character_granularity")};cvox.GroupUtil={};cvox.GroupUtil.MAX_CHARCOUNT_=1500;cvox.GroupUtil.BREAKOUT_SELECTOR_='blockquote,button,code,form,frame,h1,h2,h3,h4,h5,h6,hr,iframe,input,object,ol,p,pre,select,table,tr,ul,math,span.math,[role~="alert alertdialog button checkbox combobox dialog log marquee menubar progressbar radio radiogroup scrollbar slider spinbutton status tab tabpanel textbox toolbar tooltip treeitem article document group heading img list math region row separator"]';
cvox.GroupUtil.isLeafNode=function(a){if("LABEL"==a.tagName)return cvox.DomUtil.isLeafNode(a);if(cvox.DomUtil.isLeafNode(a))return!0;if(!cvox.DomUtil.isSemanticElt(a))for(var b=a.querySelectorAll(cvox.GroupUtil.BREAKOUT_SELECTOR_),c=0;c<b.length;++c)if(cvox.DomUtil.hasContent(b[c]))return!1;if(cvox.AriaUtil.isCompositeControl(a)&&!cvox.DomUtil.isFocusable(a))return!1;a=cvox.DomUtil.collapseWhitespace(cvox.DomUtil.getValue(a)+" "+cvox.DomUtil.getName(a));return a.length>cvox.GroupUtil.MAX_CHARCOUNT_||
""===a.replace(/\s/g,"")?!1:!0};cvox.GroupWalker=function(){cvox.AbstractNodeWalker.call(this)};goog.inherits(cvox.GroupWalker,cvox.AbstractNodeWalker);cvox.GroupWalker.prototype.getDescription=function(a,b){return cvox.DescriptionUtil.getCollectionDescription(a,b)};cvox.GroupWalker.prototype.getBraille=function(){throw"getBraille is unsupported";};cvox.GroupWalker.prototype.getGranularityMsg=function(){return cvox.ChromeVox.msgs.getMsg("group_strategy")};cvox.GroupWalker.prototype.stopNodeDescent=function(a){return cvox.GroupUtil.isLeafNode(a)};cvox.StructuralLineWalker=function(){cvox.AbstractSelectionWalker.call(this);this.grain=cvox.TraverseContent.kLine};goog.inherits(cvox.StructuralLineWalker,cvox.AbstractSelectionWalker);cvox.StructuralLineWalker.prototype.getGranularityMsg=function(){return cvox.ChromeVox.msgs.getMsg("structural_line")};
cvox.StructuralLineWalker.prototype.getDescription=function(a,b){var c=cvox.StructuralLineWalker.superClass_.getDescription.call(this,a,b);c[0].text=cvox.DomUtil.getPrefixText(b.absStart().node,b.absStart().index)+c[0].text;return c};
cvox.StructuralLineWalker.prototype.getBraille=function(a,b){var c=cvox.StructuralLineWalker.superClass_.getBraille.call(this,a,b),d=this.objWalker_.sync(b).absStart().node,e=a.absEnd().node,f=void 0;b.start.equals(b.end)||cvox.DomPredicates.editTextPredicate([d])||(f=cvox.DomUtil.getPrefixText(b.absStart().node,b.absStart().index),f+=b.getText());e=cvox.BrailleUtil.getTemplated(e,d,{name:f});e.setSpan(d,0,e.getLength());c.text=e;c.startIndex=0;c.endIndex=0;return c};cvox.LayoutLineWalker=function(){this.subWalker_=new cvox.StructuralLineWalker};goog.inherits(cvox.LayoutLineWalker,cvox.AbstractWalker);cvox.LayoutLineWalker.prototype.next=function(a){var b=new cvox.CursorSelection(a.end,a.end,a.isReversed()),c=this.subWalker_.sync(b);if(!c)return null;b=this.subWalker_.next(b);if(!b)return null;b.setReversed(a.isReversed());return this.extend_(b).setReversed(!1)};
cvox.LayoutLineWalker.prototype.sync=function(a){var b=this.subWalker_.sync(a);if(!b)return null;var c=this.extend_(b),b=this.extend_(b.setReversed(!b.isReversed()));return new cvox.CursorSelection(b.end,c.end,a.isReversed())};
cvox.LayoutLineWalker.prototype.getDescription=function(a,b){var c=[],d=a,e=b.clone().setReversed(!1),f=new cvox.CursorSelection(e.start,e.start),f=this.subWalker_.sync(f);if(!f)return[];if(e.start.node==e.end.node)return this.subWalker_.getDescription(a,b);for(;f&&!f.end.equals(e.end);)c.push.apply(c,this.subWalker_.getDescription(d,f)),d=f,f=this.subWalker_.next(f);f&&c.push.apply(c,this.subWalker_.getDescription(d,f));return c};
cvox.LayoutLineWalker.prototype.getBraille=function(a,b){var c=new cvox.NavBraille({}),d=this.subWalker_.sync(b.clone().setReversed(!1)),e=this.sync(b).setReversed(!1);if(!e||!d)return c;var f=new cvox.CursorSelection(e.start,e.start),f=this.subWalker_.sync(f);if(!f)return c;for(;f&&!f.end.equals(e.end);)this.appendBraille_(a,d,f,c),a=f,f=this.subWalker_.next(f);f&&this.appendBraille_(a,d,f,c);return c};cvox.LayoutLineWalker.prototype.getGranularityMsg=function(){return cvox.ChromeVox.msgs.getMsg("layout_line")};
cvox.LayoutLineWalker.prototype.isVisualLineBreak_=function(a,b){if(this.wantsOwnLine_(a.end.node)||this.wantsOwnLine_(b.start.node))return!0;var c=a.getRange().getBoundingClientRect(),d=b.getRange().getBoundingClientRect();0==c.width&&0==c.height&&a.end.node.nodeType==Node.ELEMENT_NODE&&(c=a.end.node.getBoundingClientRect());0==d.width&&0==d.height&&b.start.node.nodeType==Node.ELEMENT_NODE&&(d=b.start.node.getBoundingClientRect());return c.bottom!=d.bottom};
cvox.LayoutLineWalker.prototype.wantsOwnLine_=function(a){return a instanceof HTMLTextAreaElement||a.parentNode instanceof HTMLTextAreaElement};cvox.LayoutLineWalker.prototype.extend_=function(a){var b=a,c=a;do b=c,c=this.subWalker_.next(b);while(c&&!this.isVisualLineBreak_(b,c));return new cvox.CursorSelection(a.start,b.end,a.isReversed())};
cvox.LayoutLineWalker.prototype.appendBraille_=function(a,b,c,d){a=this.subWalker_.getBraille(a,c).text;var e=a.getSpanInstanceOf(cvox.BrailleUtil.ValueSelectionSpan);0<d.text.getLength()&&d.text.append(cvox.BrailleUtil.ITEM_SEPARATOR);for(var f=c.start.node;f.parentNode&&cvox.DomUtil.isLeafNode(f.parentNode);)f=f.parentNode;var g=d.text.getLength(),h=g+a.getLength();d.text.append(a.toString());d.text.setSpan(f,g,h);b&&c.absEquals(b)&&(e?(d.startIndex=g+a.getSpanStart(e),d.endIndex=g+a.getSpanEnd(e)):
(d.startIndex=g,d.endIndex=g+1))};cvox.ObjectWalker=function(){cvox.AbstractNodeWalker.call(this)};goog.inherits(cvox.ObjectWalker,cvox.AbstractNodeWalker);cvox.ObjectWalker.prototype.stopNodeDescent=function(a){return cvox.DomUtil.isLeafNode(a)};cvox.AbstractNodeWalker.prototype.getDescription=function(a,b){return cvox.DescriptionUtil.getDescriptionFromNavigation(a.end.node,b.start.node,!0,cvox.ChromeVox.verbosity)};cvox.ObjectWalker.prototype.getBraille=function(){throw"getBraille is unsupported";};
cvox.ObjectWalker.prototype.getGranularityMsg=function(){return cvox.ChromeVox.msgs.getMsg("object_strategy")};cvox.SentenceWalker=function(){cvox.AbstractSelectionWalker.call(this);this.grain=cvox.TraverseContent.kSentence};goog.inherits(cvox.SentenceWalker,cvox.AbstractSelectionWalker);cvox.SentenceWalker.prototype.getGranularityMsg=function(){return cvox.ChromeVox.msgs.getMsg("sentence_granularity")};cvox.WordWalker=function(){cvox.AbstractSelectionWalker.call(this);this.grain=cvox.TraverseContent.kWord};goog.inherits(cvox.WordWalker,cvox.AbstractSelectionWalker);cvox.WordWalker.prototype.getGranularityMsg=function(){return cvox.ChromeVox.msgs.getMsg("word_granularity")};cvox.NavigationShifter=function(){this.reset_();cvox.AbstractShifter.call(this)};goog.inherits(cvox.NavigationShifter,cvox.AbstractShifter);cvox.NavigationShifter.GRANULARITIES={CHARACTER:0,WORD:1,LINE:2,SENTENCE:3,OBJECT:4,GROUP:5};cvox.NavigationShifter.prototype.storeOn=function(a){a.granularity=this.getGranularity()};cvox.NavigationShifter.prototype.readFrom=function(a){this.setGranularity(a.granularity)};
cvox.NavigationShifter.prototype.next=function(a){a=this.currentWalker_.next(a);this.currentWalkerIndex_<=cvox.NavigationShifter.GRANULARITIES.LINE&&a&&(cvox.TraverseContent.getInstance().syncToCursorSelection(a.clone().setReversed(!1)),cvox.TraverseContent.getInstance().updateSelection());return a};cvox.NavigationShifter.prototype.sync=function(a){return this.currentWalker_.sync(a)};cvox.NavigationShifter.prototype.getName=function(){return cvox.ChromeVox.msgs.getMsg("navigation_shifter")};
cvox.NavigationShifter.prototype.getDescription=function(a,b){return this.currentWalker_.getDescription(a,b)};cvox.NavigationShifter.prototype.getBraille=function(a,b){return this.lineWalker_.getBraille(a,b)};cvox.NavigationShifter.prototype.getGranularityMsg=function(){return this.currentWalker_.getGranularityMsg()};
cvox.NavigationShifter.prototype.makeMoreGranular=function(){cvox.NavigationShifter.superClass_.makeMoreGranular.call(this);this.currentWalkerIndex_=Math.max(this.currentWalkerIndex_-1,0);cvox.NavigationShifter.allowSentence||this.currentWalkerIndex_!=cvox.NavigationShifter.GRANULARITIES.SENTENCE||this.currentWalkerIndex_--;this.currentWalker_=this.walkers_[this.currentWalkerIndex_]};
cvox.NavigationShifter.prototype.makeLessGranular=function(){cvox.NavigationShifter.superClass_.makeLessGranular.call(this);this.currentWalkerIndex_=Math.min(this.currentWalkerIndex_+1,this.walkers_.length-1);cvox.NavigationShifter.allowSentence||this.currentWalkerIndex_!=cvox.NavigationShifter.GRANULARITIES.SENTENCE||this.currentWalkerIndex_++;this.currentWalker_=this.walkers_[this.currentWalkerIndex_]};
cvox.NavigationShifter.prototype.setGranularity=function(a){this.ensureNotSubnavigating();this.currentWalkerIndex_=a;this.currentWalker_=this.walkers_[this.currentWalkerIndex_]};cvox.NavigationShifter.prototype.getGranularity=function(){var a=this.isSubnavigating();this.ensureNotSubnavigating();var b=this.currentWalkerIndex_;a&&this.ensureSubnavigating();return b};
cvox.NavigationShifter.prototype.hasAction=function(a){return"toggleLineType"==a?!0:cvox.NavigationShifter.superClass_.hasAction.call(this,a)};cvox.NavigationShifter.create=function(){return new cvox.NavigationShifter};
cvox.NavigationShifter.prototype.reset_=function(){this.groupWalker_=new cvox.GroupWalker;this.objectWalker_=new cvox.ObjectWalker;this.sentenceWalker_=new cvox.SentenceWalker;this.lineWalker_=new cvox.LayoutLineWalker;this.wordWalker_=new cvox.WordWalker;this.characterWalker_=new cvox.CharacterWalker;this.walkers_=[this.characterWalker_,this.wordWalker_,this.lineWalker_,this.sentenceWalker_,this.objectWalker_,this.groupWalker_];this.currentWalkerIndex_=this.walkers_.indexOf(this.groupWalker_);this.currentWalker_=
this.walkers_[this.currentWalkerIndex_]};cvox.NavigationShifter.allowSentence=!1;cvox.NavigationSpeaker=function(){this.stopReading=!1;this.id_=1};
cvox.NavigationSpeaker.prototype.speakDescriptionArray=function(a,b,c){a=this.reorderAnnotations(a);this.stopReading=!1;this.id_=(this.id_+1)%1E4;var d=this,e=function(b,g,h){var k=a[b];if(k&&!d.stopReading&&d.id_==h){var l=function(){for(var a=0;a<k.earcons.length;a++)cvox.ChromeVox.earcons.playEarcon(k.earcons[a])},m=function(){e(b+1,cvox.AbstractTts.QUEUE_MODE_QUEUE,h)},p=function(){k.personality&&k.personality[cvox.AbstractTts.PAUSE]&&"number"==typeof k.personality[cvox.AbstractTts.PAUSE]?setTimeout(m,
k.personality[cvox.AbstractTts.PAUSE]):m();b==a.length-1&&c&&c()};k.isEmpty()?(l(),p()):(k.speak(g,l,p),cvox.ChromeVox.host.hasTtsCallback()||(l(),p()))}};e(0,b,this.id_);0==a.length&&c&&c()};cvox.NavigationSpeaker.structuredElement=function(a){switch(a){case "table":case "Math":return!0}return!1};
cvox.NavigationSpeaker.prototype.reorderAnnotations=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];cvox.NavigationSpeaker.structuredElement(d.annotation)&&(b.push(new cvox.NavDescription({text:"",annotation:d.annotation})),d.annotation="");b.push(d)}return b};cvox.NavigationManager=function(){this.addInterframeListener_();this.reset()};cvox.NavigationManager.prototype.storeOn=function(a){a.reversed=this.isReversed();a.keepReading=this.keepReading_;a.findNext=this.predicate_;this.shifter_.storeOn(a)};cvox.NavigationManager.prototype.readFrom=function(a){this.curSel_.setReversed(a.reversed);this.shifter_.readFrom(a);a.keepReading&&this.startReading(cvox.AbstractTts.QUEUE_MODE_FLUSH)};
cvox.NavigationManager.prototype.reset=function(){this.navSpeaker_=new cvox.NavigationSpeaker;this.shifterTypes_=[cvox.NavigationShifter,cvox.TableShifter,cvox.MathShifter];this.shifterStack_=[];this.shifter_=new cvox.NavigationShifter;this.curSel_=document.activeElement!=document.body?cvox.CursorSelection.fromNode(document.activeElement):this.shifter_.begin(this.curSel_,{reversed:!1});this.prevSel_=this.curSel_.clone();this.ignoreIframesNoMatterWhat_=this.exitedShifter_=this.enteredShifter_=this.pageEndAnnounced_=
this.pageEnd_=this.keepReading_=this.recovered_=this.skipped_=!1;this.pageSel_=null;this.predicate_="";this.saveSel_=null;this.activeIndicator&&this.activeIndicator.removeFromDom();this.activeIndicator=new cvox.ActiveIndicator;this.navigationHistory_=new cvox.NavigationHistory;this.focusRecovery_="chrome:"!=window.location.protocol;this.iframeIdMap={};this.nextIframeId=1;document.activeElement!=document.body&&this.sync();cvox.TraverseMath.getInstance()};
cvox.NavigationManager.prototype.resolve=function(a){if(!this.getFocusRecovery())return!0;var b=this.getCurrentNode();if(!this.navigationHistory_.becomeInvalid(b)||this.hasNext_())return!0;b=this.navigationHistory_.revert(a);if(!b.current)return!0;a=cvox.CursorSelection.fromNode(b.current);b=cvox.CursorSelection.fromNode(b.previous);a=a||cvox.CursorSelection.fromBody();b=b||cvox.CursorSelection.fromBody();a.setReversed(this.isReversed());this.updateSel(a,b);this.recovered_=!0;return!1};
cvox.NavigationManager.prototype.getFocusRecovery=function(){return this.focusRecovery_};cvox.NavigationManager.prototype.setFocusRecovery=function(a){this.focusRecovery_=a};cvox.NavigationManager.prototype.next_=function(a){return this.tryBoundaries_(this.shifter_.next(this.curSel_),a)?(this.pageSel_&&this.pageSel_.extend(this.curSel_),!0):!1};
cvox.NavigationManager.prototype.hasNext_=function(){if(0<this.shifterStack_.length)return!0;var a=this.curSel_.clone(),b=!1,c=new cvox.NavigationShifter;c.setGranularity(this.shifter_.getGranularity());c.sync(a);c.next(a)&&(b=!0);return b};
cvox.NavigationManager.prototype.findNext=function(a,b,c){this.predicate_=b||"";this.resolve();this.shifter_=this.shifterStack_[0]||this.shifter_;this.shifterStack_=[];a=cvox.FindUtil.findNext(this.curSel_,a,c);this.ignoreIframesNoMatterWhat_||this.tryIframe_(a&&a.start.node);a&&this.updateSelToArbitraryNode(a.start.node);this.predicate_="";return a};cvox.NavigationManager.prototype.sync=function(){this.resolve();var a=this.shifter_.sync(this.curSel_);a&&(this.curSel_=a)};
cvox.NavigationManager.prototype.syncAll=function(a){this.sync();this.setFocus(a);this.updateIndicator()};cvox.NavigationManager.prototype.clearPageSel=function(a){var b=!!this.pageSel_;b&&a&&(a=cvox.ChromeVox.msgs.getMsg("clear_page_selection"),cvox.ChromeVox.tts.speak(a,cvox.AbstractTts.QUEUE_MODE_FLUSH,cvox.AbstractTts.PERSONALITY_ANNOTATION));this.pageSel_=null;return b};
cvox.NavigationManager.prototype.togglePageSel=function(){this.pageSel_=this.pageSel_?null:new cvox.PageSelection(this.curSel_.setReversed(!1));return!!this.pageSel_};
cvox.NavigationManager.prototype.getDescription=function(){if(this.getCurrentNode().hasAttribute&&this.getCurrentNode().hasAttribute("cvoxnodedesc")){for(var a=cvox.ChromeVoxJSON.parse(this.getCurrentNode().getAttribute("cvoxnodedesc")),b=[],c=0;c<a.length;++c){var d=a[c];b.push(new cvox.NavDescription({context:d.context,text:d.text,userValue:d.userValue,annotation:d.annotation}))}return b}var e=this.pageSel_?this.pageSel_.getDescription(this.shifter_,this.prevSel_,this.curSel_):this.shifter_.getDescription(this.prevSel_,
this.curSel_),a=[];this.skipped_&&(a.push(cvox.AbstractEarcons.PARAGRAPH_BREAK),this.skipped_=!1);this.recovered_&&(a.push(cvox.AbstractEarcons.FONT_CHANGE),this.recovered_=!1);this.pageEnd_&&(a.push(cvox.AbstractEarcons.WRAP),this.pageEnd_=!1);this.enteredShifter_&&(a.push(cvox.AbstractEarcons.OBJECT_ENTER),this.enteredShifter_=!1);this.exitedShifter_&&(a.push(cvox.AbstractEarcons.OBJECT_EXIT),this.exitedShifter_=!1);0<a.length&&0<e.length&&a.forEach(function(a){e[0].pushEarcon(a)});return e};
cvox.NavigationManager.prototype.getBraille=function(){return cvox.PlatformUtil.matchesPlatform(cvox.PlatformFilter.ANDROID|cvox.PlatformFilter.CHROMEOS)?this.shifter_.getBraille(this.prevSel_,this.curSel_):new cvox.NavBraille({})};
cvox.NavigationManager.prototype.performAction=function(a){switch(a){case "enterShifter":case "enterShifterSilently":for(var b=this.shifterTypes_.length-1,c;c=this.shifterTypes_[b];b--)if((c=c.create(this.curSel_))&&c.getName()!=this.shifter_.getName()){this.shifterStack_.push(this.shifter_);this.shifter_=c;this.sync();this.enteredShifter_="enterShifterSilently"!=a;break}else if(c&&this.shifter_.getName()==c.getName())break;break;case "exitShifter":if(0==this.shifterStack_.length)return!1;this.shifter_=
this.shifterStack_.pop();this.sync();this.exitedShifter_=!0;break;case "exitShifterContent":if(0==this.shifterStack_.length)return!1;this.updateSel(this.shifter_.performAction(a,this.curSel_));this.shifter_=this.shifterStack_.pop()||this.shifter_;this.sync();this.exitedShifter_=!0;break;default:return this.shifter_.hasAction(a)?this.updateSel(this.shifter_.performAction(a,this.curSel_)):!1}return!0};cvox.NavigationManager.prototype.getGranularityMsg=function(){return this.shifter_.getGranularityMsg()};
cvox.NavigationManager.prototype.makeMoreGranular=function(a){this.shifter_.makeMoreGranular();this.sync();this.persistGranularity_(a)};cvox.NavigationManager.prototype.makeLessGranular=function(a){this.shifter_.makeLessGranular();this.sync();this.persistGranularity_(a)};cvox.NavigationManager.prototype.setGranularity=function(a,b,c){!b&&0<this.shifterStack_.length||(this.shifter_=this.shifterStack_.shift()||this.shifter_,this.shifter_.setGranularity(a),this.persistGranularity_(c))};
cvox.NavigationManager.prototype.getGranularity=function(){var a=this.shifterStack_[0]||this.shifter_;return a.getGranularity()};cvox.NavigationManager.prototype.ensureSubnavigating=function(){this.shifter_.isSubnavigating()||(this.shifter_.ensureSubnavigating(),this.sync())};cvox.NavigationManager.prototype.ensureNotSubnavigating=function(){this.shifter_.isSubnavigating()&&(this.shifter_.ensureNotSubnavigating(),this.sync())};
cvox.NavigationManager.prototype.speakDescriptionArray=function(a,b,c,d){d&&a.every(function(a){a.personality||(a.personality=d)});this.navSpeaker_.speakDescriptionArray(a,b,c)};cvox.NavigationManager.prototype.updatePosition=function(a){var b=cvox.ChromeVox.position;b[document.location.href]=cvox.DomUtil.elementToPoint(a);cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",action:"setPref",pref:"position",value:JSON.stringify(b)})};
cvox.NavigationManager.prototype.finishNavCommand=function(a,b,c,d){if(this.pageEnd_&&!this.pageEndAnnounced_)this.pageEndAnnounced_=!0,cvox.ChromeVox.tts.stop(),cvox.ChromeVox.earcons.playEarcon(cvox.AbstractEarcons.WRAP),cvox.ChromeVox.verbosity===cvox.VERBOSITY_VERBOSE&&(a=cvox.ChromeVox.msgs.getMsg("wrapped_to_top"),this.isReversed()&&(a=cvox.ChromeVox.msgs.getMsg("wrapped_to_bottom")),cvox.ChromeVox.tts.speak(a,cvox.AbstractTts.QUEUE_MODE_QUEUE,cvox.AbstractTts.PERSONALITY_ANNOTATION));else{if(this.enteredShifter_||
this.exitedShifter_)a=cvox.ChromeVox.msgs.getMsg("enter_content_say",[this.shifter_.getName()]);var e=cvox.ChromeVox.navigationManager.getDescription();(b=void 0===b?!0:b)&&this.setFocus();this.updateIndicator();b=c||cvox.AbstractTts.QUEUE_MODE_FLUSH;a&&(cvox.ChromeVox.tts.speak(a,b,cvox.AbstractTts.PERSONALITY_ANNOTATION),b=cvox.AbstractTts.QUEUE_MODE_QUEUE);this.speakDescriptionArray(e,b,d||null);this.getBraille().write();this.updatePosition(this.getCurrentNode())}};
cvox.NavigationManager.prototype.navigate=function(a,b){this.pageEndAnnounced_=!1;if(this.pageEnd_)return this.pageEnd_=!1,this.syncToBeginning(a),!0;if(!this.resolve())return!1;this.ensureNotSubnavigating();void 0!==b&&(b!==this.getGranularity()||0<this.shifterStack_.length)&&(this.setGranularity(b,!0),this.sync());return this.next_(!a)};cvox.NavigationManager.prototype.subnavigate=function(){this.pageEndAnnounced_=!1;this.resolve()&&(this.ensureSubnavigating(),this.next_(!0))};
cvox.NavigationManager.prototype.skip=function(){if(!this.keepReading_)return!1;cvox.ChromeVox.host.hasTtsCallback()&&(this.skipped_=!0,this.setReversed(!1),this.startCallbackReading_(cvox.AbstractTts.QUEUE_MODE_FLUSH));return!0};
cvox.NavigationManager.prototype.startReading=function(a){this.keepReading_=!0;cvox.ChromeVox.host.hasTtsCallback()?this.startCallbackReading_(a):this.startNonCallbackReading_(a);this.prevStickyState_=cvox.ChromeVox.isStickyOn;cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",action:"setPref",pref:"sticky",value:!0,announce:!1})};
cvox.NavigationManager.prototype.stopReading=function(a){this.keepReading_=!1;this.navSpeaker_.stopReading=!0;a&&cvox.ChromeVox.tts.stop();void 0!=this.prevStickyState_&&(cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",action:"setPref",pref:"sticky",value:this.prevStickyState_,announce:!1}),this.prevStickyState_=void 0)};cvox.NavigationManager.prototype.isReading=function(){return this.keepReading_};
cvox.NavigationManager.prototype.startCallbackReading_=cvox.ChromeVoxEventSuspender.withSuspendedEvents(function(a){this.finishNavCommand("",!0,a,goog.bind(function(){this.next_(!0)&&this.keepReading_&&this.startCallbackReading_(cvox.AbstractTts.QUEUE_MODE_QUEUE)},this))});
cvox.NavigationManager.prototype.startNonCallbackReading_=cvox.ChromeVoxEventSuspender.withSuspendedEvents(function(a){this.keepReading_&&(cvox.ChromeVox.tts.isSpeaking()||(this.finishNavCommand("",!0,a,null),this.next_(!0)||(this.keepReading_=!1)),window.setTimeout(goog.bind(this.startNonCallbackReading_,this),1E3))});
cvox.NavigationManager.prototype.getFullDescription=function(){return this.pageSel_?this.pageSel_.getFullDescription():[cvox.DescriptionUtil.getDescriptionFromAncestors(cvox.DomUtil.getAncestors(this.curSel_.start.node),!0,cvox.ChromeVox.verbosity)]};cvox.NavigationManager.prototype.setFocus=function(a){this.pageSel_||a&&this.curSel_.start.node.constructor==Text||cvox.Focuser.setFocus(this.curSel_.start.node)};cvox.NavigationManager.prototype.getCurrentNode=function(){return this.curSel_.absStart().node};
cvox.NavigationManager.prototype.addInterframeListener_=function(){var a=this;cvox.Interframe.addListener(function(b){if("enterIframe"==b.command||"exitIframe"==b.command)cvox.ChromeVox.serializer.readFrom(b),a.keepReading_||cvox.ChromeVoxEventSuspender.withSuspendedEvents(function(){window.focus();if(b.findNext){var c=b.findNext,d=cvox.DomPredicates[c],c=a.findNext(d,c,!0);if(d&&(!c||"IFRAME"==c.start.node.tagName))return}else if("exitIframe"==b.command)d=b.sourceId,d=a.iframeIdMap[d],c=b.reversed,
d&&a.updateSel(cvox.CursorSelection.fromNode(d)),a.setReversed(c),a.sync(),a.navigate();else if(a.syncToBeginning(),!cvox.DomUtil.hasContent(document.body)){a.tryIframe_(null);return}a.finishNavCommand("",!0)})()})};cvox.NavigationManager.prototype.updateIndicator=function(){this.activeIndicator.syncToCursorSelection(this.curSel_)};cvox.NavigationManager.prototype.updateIndicatorIfChanged=function(){this.activeIndicator.updateIndicatorIfChanged()};
cvox.NavigationManager.prototype.showOrHideIndicator=function(a){a||this.activeIndicator.removeFromDom()};cvox.NavigationManager.prototype.collapseSelection=function(){this.curSel_.collapse()};cvox.NavigationManager.prototype.updateSelToArbitraryNode=function(a,b){a?(this.setGranularity(cvox.NavigationShifter.GRANULARITIES.OBJECT,!0),this.updateSel(cvox.CursorSelection.fromNode(a)),b||this.sync()):this.syncToBeginning()};
cvox.NavigationManager.prototype.updateSel=function(a,b){a&&(this.prevSel_=b||this.curSel_,this.curSel_=a);var c=this.getCurrentNode();this.navigationHistory_.update(c);return!!a};cvox.NavigationManager.prototype.setReversed=function(a){this.curSel_.setReversed(a)};cvox.NavigationManager.prototype.isReversed=function(){return this.curSel_.isReversed()};
cvox.NavigationManager.prototype.tryBoundaries_=function(a,b){b=!!b&&!this.ignoreIframesNoMatterWhat_||!1;this.pageEnd_=!1;if(b&&this.tryIframe_(a&&a.start.node))return!0;if(a)return this.updateSel(a),!0;if(0<this.shifterStack_.length)return!0;this.syncToBeginning(!b);this.clearPageSel(!0);this.stopReading(!0);this.pageEnd_=!0;return!1};
cvox.NavigationManager.prototype.tryIframe_=function(a){if(null==a&&cvox.Interframe.isIframe()){var b={command:"exitIframe",reversed:this.isReversed(),granularity:this.getGranularity()};cvox.ChromeVox.serializer.storeOn(b);cvox.Interframe.sendMessageToParentWindow(b);return!0}if(null==a||"IFRAME"!=a.tagName||!a.src)return!1;var c=void 0;for(b in this.iframeIdMap)if(this.iframeIdMap[b]==a){c=b;break}void 0==c&&(c=this.nextIframeId,this.nextIframeId++,this.iframeIdMap[c]=a,cvox.Interframe.sendIdToIFrame(c,
a));b={command:"enterIframe",id:c};cvox.ChromeVox.serializer.storeOn(b);cvox.Interframe.sendMessageToIFrame(b,a);return!0};cvox.NavigationManager.prototype.syncToBeginning=function(a){var b=this.shifter_.begin(this.curSel_,{reversed:this.curSel_.isReversed()});!a&&this.tryIframe_(b&&b.start.node)||this.updateSel(b)};cvox.NavigationManager.prototype.saveSel=function(){this.saveSel_=this.curSel_};cvox.NavigationManager.prototype.restoreSel=function(){this.curSel_=this.saveSel_||this.curSel_};
cvox.NavigationManager.prototype.persistGranularity_=function(a){(a=void 0===a?!1:a)&&cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",action:"setPref",pref:"granularity",value:this.getGranularity()})};cvox.SearchWidget=function(){this.txtNode_=this.containerNode_=null;this.PROMPT_="Search:";this.hasMatch_=this.caseSensitive_=!1;cvox.Widget.call(this)};goog.inherits(cvox.SearchWidget,cvox.Widget);goog.addSingletonGetter(cvox.SearchWidget);
cvox.SearchWidget.prototype.show=function(){cvox.SearchWidget.superClass_.show.call(this);this.active=!0;this.hasMatch_=!1;cvox.ChromeVox.navigationManager.setGranularity(cvox.NavigationShifter.GRANULARITIES.OBJECT,!0,!1);cvox.ChromeVox.navigationManager.setReversed(!1);this.focusRecovery_=cvox.ChromeVox.navigationManager.getFocusRecovery();cvox.ChromeVox.navigationManager.setFocusRecovery(!1);var a=this.createContainerNode_();this.containerNode_=a;var b=this.createOverlayNode_();a.appendChild(b);
var c=document.createElement("span");c.innerHTML=this.PROMPT_;b.appendChild(c);this.txtNode_=this.createTextAreaNode_();b.appendChild(this.txtNode_);document.body.appendChild(a);this.txtNode_.focus();window.setTimeout(function(){a.style.opacity="1.0"},0)};
cvox.SearchWidget.prototype.hide=function(a){if(this.isActive()){var b=this.containerNode_;b.style.opacity="0.0";window.setTimeout(function(){document.body.removeChild(b)},1E3);this.txtNode_=null;cvox.SearchWidget.containerNode=null;cvox.ChromeVox.navigationManager.setFocusRecovery(this.focusRecovery_);this.active=!1}cvox.$m("choice_widget_exited").andPause().andMessage(this.getNameMsg()).speakFlush();this.hasMatch_&&a||cvox.ChromeVox.navigationManager.updateSelToArbitraryNode(this.initialNode);cvox.ChromeVoxEventSuspender.withSuspendedEvents(goog.bind(cvox.ChromeVox.navigationManager.syncAll,
cvox.ChromeVox.navigationManager))(!0);cvox.ChromeVox.navigationManager.speakDescriptionArray(cvox.ChromeVox.navigationManager.getDescription(),cvox.AbstractTts.QUEUE_MODE_QUEUE,null,cvox.AbstractTts.PERSONALITY_ANNOUNCEMENT);a=this.textFromCurrentDescription_();cvox.ChromeVox.braille.write(new cvox.NavBraille({text:a,startIndex:0,endIndex:0}));cvox.SearchWidget.superClass_.hide.call(this,!0)};cvox.SearchWidget.prototype.getNameMsg=function(){return["search_widget_intro"]};
cvox.SearchWidget.prototype.getHelpMsg=function(){return"search_widget_intro_help"};
cvox.SearchWidget.prototype.onKeyDown=function(a){if(!this.isActive())return!1;var b=this.txtNode_.value;if(8==a.keyCode)0<b.length?(b=b.substring(0,b.length-1),this.txtNode_.value=b,this.beginSearch_(b)):(cvox.ChromeVox.navigationManager.updateSelToArbitraryNode(this.initialNode),cvox.ChromeVox.navigationManager.syncAll());else if(40==a.keyCode)this.next_(b,!1);else if(38==a.keyCode)this.next_(b,!0);else if(13==a.keyCode)this.hide(!0);else if(27==a.keyCode)this.hide(!1);else if(a.ctrlKey&&67==a.keyCode)this.toggleCaseSensitivity_();
else return cvox.SearchWidget.superClass_.onKeyDown.call(this,a);a.preventDefault();a.stopPropagation();return!0};cvox.SearchWidget.prototype.onKeyPress=function(a){if(!this.isActive())return!1;this.txtNode_.value+=String.fromCharCode(a.charCode);var b=this.txtNode_.value;this.beginSearch_(b);a.preventDefault();a.stopPropagation();return!0};cvox.SearchWidget.prototype.onNavigate=function(){};cvox.SearchWidget.prototype.getPredicate=function(){return null};
cvox.SearchWidget.prototype.createContainerNode_=function(){var a=document.createElement("div");a.id="cvox-search";a.style.position="fixed";a.style.top="50%";a.style.left="50%";a.style["-webkit-transition"]="all 0.3s ease-in";a.style.opacity="0.0";a.style["z-index"]="2147483647";a.setAttribute("aria-hidden","true");return a};
cvox.SearchWidget.prototype.createOverlayNode_=function(){var a=document.createElement("div");a.style.position="relative";a.style.left="-50%";a.style.top="-40px";a.style["line-height"]="1.2em";a.style["font-size"]="20px";a.style.padding="30px";a.style["min-width"]="150px";a.style.color="#fff";a.style["background-color"]="rgba(0, 0, 0, 0.7)";a.style["border-radius"]="10px";return a};
cvox.SearchWidget.prototype.createTextAreaNode_=function(){var a=document.createElement("textarea");a.setAttribute("aria-hidden","true");a.setAttribute("rows","1");a.style.color="#fff";a.style["background-color"]="rgba(0, 0, 0, 0.7)";a.style["vertical-align"]="middle";a.addEventListener("textInput",this.handleSearchChanged_,!1);return a};
cvox.SearchWidget.prototype.toggleCaseSensitivity_=function(){this.caseSensitive_?(cvox.SearchWidget.caseSensitive_=!1,cvox.ChromeVox.tts.speak("Ignoring case.",0,null)):(this.caseSensitive_=!0,cvox.ChromeVox.tts.speak("Case sensitive.",0,null))};
cvox.SearchWidget.prototype.getNextResult_=function(a){var b=cvox.ChromeVox.navigationManager.isReversed();this.caseSensitive_||(a=a.toLowerCase());cvox.ChromeVox.navigationManager.setGranularity(cvox.NavigationShifter.GRANULARITIES.OBJECT,!0,!1);do{if(this.getPredicate()){var c=this.getPredicate()(cvox.DomUtil.getAncestors(cvox.ChromeVox.navigationManager.getCurrentNode()));if(!c)continue}for(var c=cvox.ChromeVox.navigationManager.getDescription(),d=0;d<c.length;d++){var e=this.caseSensitive_?c[d].text:
c[d].text.toLowerCase(),f=e.indexOf(a);-1!=f&&e.length>a.length&&(c[d].text=cvox.DomUtil.collapseWhitespace(e.substring(0,f))+", "+a+", "+e.substring(f+a.length),c[d].text=cvox.DomUtil.collapseWhitespace(c[d].text));if(-1!=f)return c}cvox.ChromeVox.navigationManager.setReversed(b)}while(cvox.ChromeVox.navigationManager.navigate(!0,cvox.NavigationShifter.GRANULARITIES.OBJECT))};cvox.SearchWidget.prototype.beginSearch_=function(a){var b=this.getNextResult_(a);this.outputSearchResult_(b,a);this.onNavigate()};
cvox.SearchWidget.prototype.next_=function(a,b){cvox.ChromeVox.navigationManager.setReversed(!!b);var c=!1;this.getPredicate()?(c=cvox.ChromeVox.navigationManager.findNext(this.getPredicate()),cvox.ChromeVox.navigationManager.setReversed(!!b),c||(cvox.ChromeVox.navigationManager.syncToBeginning(),cvox.ChromeVox.earcons.playEarcon(cvox.AbstractEarcons.WRAP),c=!0)):c=cvox.ChromeVox.navigationManager.navigate(!0);c=c?this.getNextResult_(a):null;this.outputSearchResult_(c,a);this.onNavigate();return c};
cvox.SearchWidget.prototype.outputSearchResult_=function(a,b){cvox.ChromeVox.tts.stop();a?(this.hasMatch_=!0,cvox.ChromeVoxEventSuspender.withSuspendedEvents(goog.bind(cvox.ChromeVox.navigationManager.syncAll,cvox.ChromeVox.navigationManager))(!0),cvox.ChromeVox.navigationManager.speakDescriptionArray(a,cvox.AbstractTts.QUEUE_MODE_FLUSH,null,cvox.AbstractTts.PERSONALITY_ANNOUNCEMENT),cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("search_help_item"),cvox.AbstractTts.QUEUE_MODE_QUEUE,cvox.AbstractTts.PERSONALITY_ANNOTATION),
this.outputSearchResultToBraille_(b)):(cvox.ChromeVox.earcons.playEarcon(cvox.AbstractEarcons.WRAP),this.hasMatch_=!1)};
cvox.SearchWidget.prototype.outputSearchResultToBraille_=function(a){if(cvox.ChromeVox.braille){var b=this.textFromCurrentDescription_(),c=this.caseSensitive_?b:b.toLowerCase();a=this.caseSensitive_?a:a.toLowerCase();c=c.indexOf(a);if(-1==c)console.log("Search string not in result when preparing for Braille.");else{var d=b.length,b=cvox.ChromeVox.msgs.getMsg("mark_as_search_result_brl",[b]),e=b.length,c=c+(e-d);cvox.ChromeVox.braille.write(new cvox.NavBraille({text:b,startIndex:c+a.length,endIndex:c+
a.length}))}}};cvox.SearchWidget.prototype.textFromCurrentDescription_=function(){for(var a=cvox.ChromeVox.navigationManager.getDescription(),b="",c=0;c<a.length;c++)b+=a[c].text+" ";return b};cvox.SearchWidget.prototype.handleSearchChanged_=function(a){a=a.target.value+a.data;cvox.SearchWidget.prototype.beginSearch_(a)};cvox.OverlayWidget=function(a){cvox.SearchWidget.call(this);this.snippet_=a};goog.inherits(cvox.OverlayWidget,cvox.SearchWidget);
cvox.OverlayWidget.prototype.show=function(){cvox.OverlayWidget.superClass_.show.call(this);var a=document.createElement("DIV");a.innerHTML=this.snippet_;var b=cvox.DomUtil.elementToPoint(cvox.ChromeVox.navigationManager.getCurrentNode());a.style.position="absolute";a.style.left=b.x;a.style.top=b.y;document.body.appendChild(a);cvox.ChromeVox.navigationManager.updateSelToArbitraryNode(a);this.host_=a};cvox.OverlayWidget.prototype.hide=function(){this.host_.remove();cvox.OverlayWidget.superClass_.hide.call(this)};
cvox.OverlayWidget.prototype.onKeyDown=function(a){cvox.OverlayWidget.superClass_.onKeyDown.call(this,a);if(13==a.keyCode||27==a.keyCode)return!0;a=cvox.ChromeVox.navigationManager.isReversed();cvox.DomUtil.isDescendantOfNode(cvox.ChromeVox.navigationManager.getCurrentNode(),this.host_)||(a?cvox.ChromeVox.navigationManager.syncToBeginning():cvox.ChromeVox.navigationManager.updateSelToArbitraryNode(this.host_),this.onNavigate(),cvox.ChromeVox.navigationManager.speakDescriptionArray(cvox.ChromeVox.navigationManager.getDescription(),
0,null))};cvox.KeyboardHelpWidget=function(){cvox.OverlayWidget.call(this,"");this.container_=document.createElement("div");var a=cvox.ChromeVoxKbHandler.handlerKeyMap;a.bindings().forEach(goog.bind(function(a){var c=a.command;a=a.sequence;var d=c;try{var e=cvox.CommandStore.messageForCommand(c);if(!e)return;d=cvox.ChromeVox.msgs.getMsg(e)}catch(f){}e=document.createElement("p");e.id=c;e.setAttribute("role","menuitem");e.textContent=d+" - "+cvox.KeyUtil.keySequenceToString(a,!0);this.container_.appendChild(e)},
this))};goog.inherits(cvox.KeyboardHelpWidget,cvox.OverlayWidget);goog.addSingletonGetter(cvox.KeyboardHelpWidget);cvox.KeyboardHelpWidget.prototype.show=function(){cvox.KeyboardHelpWidget.superClass_.show.call(this);this.host_.appendChild(this.container_)};cvox.KeyboardHelpWidget.prototype.getNameMsg=function(){return["keyboard_help_intro"]};
cvox.KeyboardHelpWidget.prototype.onKeyDown=function(a){if(13==a.keyCode){var b=cvox.ChromeVox.navigationManager.getCurrentNode().parentNode.id;this.hide();cvox.ChromeVoxEventSuspender.withSuspendedEvents(cvox.ChromeVoxUserCommands.commands[b])();a.preventDefault();a.stopPropagation();return!0}return cvox.KeyboardHelpWidget.superClass_.onKeyDown.call(this,a)};goog.object={};goog.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};goog.object.filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);return d};goog.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d};goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return!0;return!1};goog.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return!1;return!0};
goog.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};goog.object.getAnyKey=function(a){for(var b in a)return b};goog.object.getAnyValue=function(a){for(var b in a)return a[b]};goog.object.contains=function(a,b){return goog.object.containsValue(a,b)};goog.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};goog.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};
goog.object.getValueByKeys=function(a,b){for(var c=goog.isArrayLike(b),d=c?b:arguments,c=c?0:1;c<d.length&&(a=a[d[c]],goog.isDef(a));c++);return a};goog.object.containsKey=function(a,b){return b in a};goog.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1};goog.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};goog.object.findValue=function(a,b,c){return(b=goog.object.findKey(a,b,c))&&a[b]};
goog.object.isEmpty=function(a){for(var b in a)return!1;return!0};goog.object.clear=function(a){for(var b in a)delete a[b]};goog.object.remove=function(a,b){var c;(c=b in a)&&delete a[b];return c};goog.object.add=function(a,b,c){if(b in a)throw Error('The object already contains the key "'+b+'"');goog.object.set(a,b,c)};goog.object.get=function(a,b,c){return b in a?a[b]:c};goog.object.set=function(a,b,c){a[b]=c};goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};
goog.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};goog.object.unsafeClone=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(a.clone)return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=goog.object.unsafeClone(a[c]);return b}return a};goog.object.transpose=function(a){var b={},c;for(c in a)b[a[c]]=c;return b};goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
goog.object.extend=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<goog.object.PROTOTYPE_FIELDS_.length;f++)c=goog.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};
goog.object.create=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(b%2)throw Error("Uneven number of arguments");for(var c={},d=0;d<b;d+=2)c[arguments[d]]=arguments[d+1];return c};goog.object.createSet=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};
goog.object.createImmutableView=function(a){var b=a;Object.isFrozen&&!Object.isFrozen(a)&&(b=Object.create(a),Object.freeze(b));return b};goog.object.isImmutableView=function(a){return!!Object.isFrozen&&Object.isFrozen(a)};cvox.UserEventDetail=function(a){this.command=this.category="";-1!=cvox.UserEventDetail.JUMP_COMMANDS.indexOf(a.command)&&(this.command=a.command,this.category=cvox.UserEventDetail.Category.JUMP);this.customCommand="";a.customCommand&&(this.customCommand=a.customCommand,this.category=cvox.UserEventDetail.Category.CUSTOM);this.status=cvox.UserEventDetail.Status.PENDING;switch(a.status){case cvox.UserEventDetail.Status.SUCCESS:this.status=cvox.UserEventDetail.Status.SUCCESS;break;case cvox.UserEventDetail.Status.FAILURE:this.status=
cvox.UserEventDetail.Status.FAILURE}this.resultNode=null;a.resultNode&&cvox.DomUtil.isAttachedToDocument(a.resultNode)&&(this.resultNode=a.resultNode)};cvox.UserEventDetail.Category={JUMP:"ATJumpEvent",CUSTOM:"ATCustomEvent"};cvox.UserEventDetail.Status={PENDING:"PENDING",SUCCESS:"SUCCESS",FAILURE:"FAILURE"};cvox.UserEventDetail.JUMP_COMMANDS="nextCheckbox previousCheckbox nextRadio previousRadio nextSlider previousSlider nextGraphic previousGraphic nextButton previousButton nextComboBox previousComboBox nextEditText previousEditText nextHeading previousHeading nextHeading1 previousHeading1 nextHeading2 previousHeading2 nextHeading3 previousHeading3 nextHeading4 previousHeading4 nextHeading5 previousHeading5 nextHeading6 previousHeading6 nextLink previousLink nextMath previousMath nextTable previousTable nextList previousList nextListItem previousListItem nextFormField previousFormField nextLandmark previousLandmark nextSection previousSection nextControl previousControl".split(" ");
cvox.UserEventDetail.prototype.createEventObject=function(){var a=document.createEvent("CustomEvent");a.initCustomEvent(this.category,!0,!0,this);return a};var extractMenuList_=function(a){for(;a!==document;){var b=a.getAttribute("contextMenuActions");if(b)return JSON.parse(b);a=a.parentNode}return null},getCurrentElement_=function(){for(var a=cvox.ChromeVox.navigationManager.getCurrentNode();a.nodeType!==Node.ELEMENT_NODE;)a=a.parentNode;return a};
cvox.ContextMenuWidget=function(){cvox.OverlayWidget.call(this,"");this.container_=document.createElement("div");this.triggerElement_=getCurrentElement_();(this.menuList=extractMenuList_(this.triggerElement_))?this.menuList.forEach(goog.bind(function(a){if(a.desc||a.cmd){var b=a.desc;a=a.cmd;var c=document.createElement("p");c.id=a;c.textContent=b;c.setAttribute("role","menuitem");this.container_.appendChild(c)}},this)):console.log("No context menu found.")};goog.inherits(cvox.ContextMenuWidget,cvox.OverlayWidget);
cvox.ContextMenuWidget.prototype.show=function(){this.menuList&&(cvox.ContextMenuWidget.superClass_.show.call(this),this.host_.appendChild(this.container_))};cvox.ContextMenuWidget.prototype.getNameMsg=function(){return["context_menu_intro"]};
cvox.ContextMenuWidget.prototype.onKeyDown=function(a){if(13==a.keyCode){var b=cvox.ChromeVox.navigationManager.getCurrentNode(),b=b.parentNode.id,b=new cvox.UserEventDetail({customCommand:b}),b=b.createEventObject();this.triggerElement_.dispatchEvent(b);this.hide();a.preventDefault();a.stopPropagation();return!0}return cvox.ContextMenuWidget.superClass_.onKeyDown.call(this,a)};cvox.NodeSearchWidget=function(a,b){this.typeMsg_=a;this.predicate_=b;cvox.SearchWidget.call(this)};goog.inherits(cvox.NodeSearchWidget,cvox.SearchWidget);cvox.NodeSearchWidget.prototype.getNameMsg=function(){return["choice_widget_name",[cvox.ChromeVox.msgs.getMsg(this.typeMsg_)]]};cvox.NodeSearchWidget.prototype.getHelpMsg=function(){return"choice_widget_help"};cvox.NodeSearchWidget.prototype.getPredicate=function(){return this.predicate_};
cvox.NodeSearchWidget.create=function(a,b){return new cvox.NodeSearchWidget(a,b)};cvox.SelectWidget=function(a){cvox.OverlayWidget.call(this,"");this.selectNode_=a};goog.inherits(cvox.SelectWidget,cvox.OverlayWidget);
cvox.SelectWidget.prototype.show=function(){cvox.SelectWidget.superClass_.show.call(this);var a=document.createElement("div");a.setAttribute("role","menu");for(var b=0,c=null;c=this.selectNode_.options[b];b++){var d=document.createElement("p");d.innerHTML=c.innerHTML;d.id=b;d.setAttribute("role","menuitem");a.appendChild(d)}this.host_.appendChild(a);b=this.selectNode_.selectedIndex;"number"==typeof b&&cvox.ChromeVox.syncToNode(a.children[b],!0)};
cvox.SelectWidget.prototype.hide=function(){var a=document.createEvent("Event");a.initEvent("change",!1,!1);this.selectNode_.dispatchEvent(a);cvox.SelectWidget.superClass_.hide.call(this,!0)};cvox.SelectWidget.prototype.onNavigate=function(){var a=this;cvox.ChromeVoxEventSuspender.withSuspendedEvents(function(){var b=cvox.ChromeVox.navigationManager.getCurrentNode().parentNode.id;a.selectNode_.selectedIndex=b})()};cvox.SelectWidget.prototype.getNameMsg=function(){return["aria_role_menu"]};cvox.FocusUtil=function(){};cvox.FocusUtil.INPUT_TYPE_ACCEPTS_SELECTION_TABLE={hidden:!1,text:!0,search:!0,tel:!0,url:!0,email:!0,password:!0,datetime:!1,date:!1,month:!1,week:!1,time:!1,"datetime-local":!1,number:!1,range:!1,color:!1,checkbox:!1,radio:!1,file:!1,submit:!1,image:!1,reset:!1,button:!1};
cvox.FocusUtil.isFocusInTextInputField=function(){var a=document.activeElement;return a?a.isContentEditable||"textbox"==a.getAttribute("role")?!0:"true"==a.getAttribute("readOnly")?!1:"TEXTAREA"===a.tagName||"SELECT"===a.tagName?!0:"INPUT"===a.tagName?a.hasAttribute("type")?(a=a.getAttribute("type").toLowerCase(),cvox.FocusUtil.INPUT_TYPE_ACCEPTS_SELECTION_TABLE[a]):!0:!1:!1};cvox.ConsoleTts=function(){this.enabled_=!1};goog.addSingletonGetter(cvox.ConsoleTts);cvox.ConsoleTts.prototype.speak=function(a,b,c){if(this.enabled_&&window.console){var d="Speak",d=b==cvox.AbstractTts.QUEUE_MODE_FLUSH?d+" (I)":d+" (Q)",d=d+(' "'+a+'"');window.console.log(d);c&&void 0!=c.startCallback&&window.console.log("  using startCallback");c&&void 0!=c.endCallback&&window.console.log("  using endCallback")}return this};cvox.ConsoleTts.prototype.isSpeaking=function(){return!1};
cvox.ConsoleTts.prototype.stop=function(){this.enabled_&&window.console.log("Stop")};cvox.ConsoleTts.prototype.increaseOrDecreaseProperty=function(){};cvox.ConsoleTts.prototype.setEnabled=function(a){this.enabled_=a};cvox.ConsoleTts.prototype.getDefaultProperty=function(){};cvox.SpokenListBuilder=function(){this.list_=[]};cvox.SpokenListBuilder.prototype.flush=function(a){this.list_.push([a,cvox.AbstractTts.QUEUE_MODE_FLUSH]);return this};cvox.SpokenListBuilder.prototype.build=function(){return this.list_};cvox.RunnerInterface=function(){};cvox.RunnerInterface.prototype.setFocus=function(){};cvox.AbstractTestCase=function(){};cvox.CompositeTts=function(){this.ttsEngines_=[]};cvox.CompositeTts.prototype.add=function(a){this.ttsEngines_.push(a);return this};cvox.CompositeTts.prototype.speak=function(a,b,c){this.ttsEngines_.forEach(function(d){d.speak(a,b,c)})};cvox.CompositeTts.prototype.isSpeaking=function(){return this.ttsEngines_.some(function(a){return a.isSpeaking()})};cvox.CompositeTts.prototype.stop=function(){this.ttsEngines_.forEach(function(a){a.stop()})};
cvox.CompositeTts.prototype.increaseOrDecreaseProperty=function(a,b){this.ttsEngines_.forEach(function(c){c.increaseOrDecreaseProperty(a,b)})};cvox.CompositeTts.prototype.getDefaultProperty=function(a){for(var b=0,c;c=this.ttsEngines_[b];b++)if(c=c.getDefaultProperty(a))return c};cvox.TestTts=function(){cvox.AbstractTts.call(this);this.utterances_=[]};goog.inherits(cvox.TestTts,cvox.AbstractTts);cvox.TestTts.prototype.sentinelText_="@@@STOP@@@";cvox.TestTts.prototype.speak=function(a,b,c){this.utterances_.push({text:a,queueMode:b});c&&void 0!=c.endCallback&&(a=this.utterances_.length,this.utterances_[a-1].text!=this.sentinelText_&&c.endCallback())};cvox.HostFactory.ttsConstructor=cvox.TestTts;cvox.AutoRunner=function(){new cvox.TestTts};cvox.AutoRunner.TestSummary=function(a,b,c,d){this.tag=a;this.status=c;this.scope=d};cvox.AutoRunner.PASS="pass";cvox.AutoRunner.FAIL="fail";cvox.AutoRunner.prototype.setFocus=function(a){document.getElementById(a).focus();return this};cvox.ChromeVoxUserCommands={};cvox.ChromeVoxUserCommands.init_=function(){if(!cvox.ChromeVoxUserCommands.commands){cvox.ChromeVoxUserCommands.commands={};for(var a in cvox.CommandStore.CMD_WHITELIST)cvox.ChromeVoxUserCommands.commands[a]=cvox.ChromeVoxUserCommands.createCommand_(a)}};cvox.ChromeVoxUserCommands.wasMouseClicked=!1;cvox.ChromeVoxUserCommands.enableCommandDispatchingToPage=!0;
cvox.ChromeVoxUserCommands.handleTabAction_=function(){cvox.ChromeVox.tts.stop();if(!cvox.ChromeVox.navigationManager.resolve(cvox.DomUtil.isFocusable))return cvox.ChromeVox.navigationManager.setFocus(),!1;var a=cvox.ChromeVoxUserCommands.isFocusedOnLinkControl_();if(a)return!0;var b=a=null,b=window.getSelection();cvox.ChromeVoxUserCommands.wasMouseClicked?cvox.ChromeVoxUserCommands.wasMouseClicked=!1:b=null;null==b||null==b.anchorNode||null==b.focusNode?(a=cvox.ChromeVox.navigationManager.getCurrentNode(),
b=cvox.ChromeVox.navigationManager.getCurrentNode()):(a=b.anchorNode,b=b.focusNode);if(null==a||null==b)return!0;if(cvox.DomUtil.isFocusable(a))return a.focus(),!0;if(cvox.DomUtil.isFocusable(b))return b.focus(),!0;if(cvox.DomUtil.isFocusable(a.parentNode))return a.parentNode.focus(),!0;if(cvox.DomUtil.isFocusable(b.parentNode))return b.parentNode.focus(),!0;b=cvox.ChromeVoxUserCommands.createTabDummySpan_();a.parentNode.insertBefore(b,a);b.focus();return!0};
cvox.ChromeVoxUserCommands.isFocusedOnLinkControl_=function(){var a="A";return document.activeElement.tagName==a||cvox.DomUtil.isControl(document.activeElement)?!0:!1};cvox.ChromeVoxUserCommands.removeTabDummySpan=function(){var a=document.getElementById("ChromeVoxTabDummySpan");a&&document.activeElement!=a&&a.parentNode.removeChild(a)};cvox.ChromeVoxUserCommands.createTabDummySpan_=function(){var a=document.createElement("span");a.id="ChromeVoxTabDummySpan";a.tabIndex=-1;return a};
cvox.ChromeVoxUserCommands.createCommand_=function(a){return goog.bind(function(b){b=cvox.ChromeVoxUserCommands.lookupCommand_(a,b);return cvox.ChromeVoxUserCommands.dispatchCommand_(b)},cvox.ChromeVoxUserCommands)};
cvox.ChromeVoxUserCommands.dispatchCommand_=function(a){if(cvox.Widget.isActive()||!cvox.PlatformUtil.matchesPlatform(a.platformFilter)||a.skipInput&&cvox.FocusUtil.isFocusInTextInputField())return!0;if(cvox.ChromeVoxUserCommands.enableCommandDispatchingToPage&&-1!=cvox.UserEventDetail.JUMP_COMMANDS.indexOf(a.command)){a=new cvox.UserEventDetail({command:a.command});a=a.createEventObject();var b=cvox.ChromeVox.navigationManager.getCurrentNode();b||(b=document.body);b.dispatchEvent(a);return!1}return cvox.ChromeVoxUserCommands.doCommand_(a)};
cvox.ChromeVoxUserCommands.doCommand_=function(a){if(cvox.Widget.isActive()||!cvox.PlatformUtil.matchesPlatform(a.platformFilter)||a.skipInput&&cvox.FocusUtil.isFocusInTextInputField()||a.disallowOOBE&&document.URL.match(/^chrome:\/\/oobe/i))return!0;var b=a.command;a.allowEvents||cvox.ChromeVoxEventSuspender.enterSuspendEvents();a.disallowContinuation&&cvox.ChromeVox.navigationManager.stopReading(!0);a.forward?cvox.ChromeVox.navigationManager.setReversed(!1):a.backward&&cvox.ChromeVox.navigationManager.setReversed(!0);
a.findNext&&(b="find",a.announce=!0);var c="",d="",e=!1;switch(b){case "handleTab":case "handleTabPrev":e=cvox.ChromeVoxUserCommands.handleTabAction_();break;case "forward":case "backward":e=!cvox.ChromeVox.navigationManager.navigate();break;case "right":case "left":cvox.ChromeVox.navigationManager.subnavigate();break;case "find":if(!a.findNext)throw"Invalid find command.";var f=cvox.CommandStore.NODE_INFO_MAP[a.findNext],g=f.predicate,h=cvox.DomPredicates[g],k="",l="";a.forward?(l=cvox.ChromeVox.msgs.getMsg("wrapped_to_top"),
k=cvox.ChromeVox.msgs.getMsg(f.forwardError)):a.backward&&(l=cvox.ChromeVox.msgs.getMsg("wrapped_to_bottom"),k=cvox.ChromeVox.msgs.getMsg(f.backwardError));var f=null,m=a.status||cvox.UserEventDetail.Status.PENDING,p=a.resultNode||null;switch(m){case cvox.UserEventDetail.Status.SUCCESS:p&&cvox.ChromeVox.navigationManager.updateSelToArbitraryNode(p,!0);break;case cvox.UserEventDetail.Status.FAILURE:d=k;break;default:f=cvox.ChromeVox.navigationManager.findNext(h,g),f||(cvox.ChromeVox.navigationManager.saveSel(),
d=l,cvox.ChromeVox.navigationManager.syncToBeginning(),cvox.ChromeVox.earcons.playEarcon(cvox.AbstractEarcons.WRAP),f=cvox.ChromeVox.navigationManager.findNext(h,g,!0),f||(d=k,cvox.ChromeVox.navigationManager.restoreSel()))}f&&"IFRAME"==f.start.node.tagName&&(a.announce=!1);break;case "previousGranularity":cvox.ChromeVox.navigationManager.makeLessGranular(!0);d=cvox.ChromeVox.navigationManager.getGranularityMsg();break;case "nextGranularity":cvox.ChromeVox.navigationManager.makeMoreGranular(!0);d=
cvox.ChromeVox.navigationManager.getGranularityMsg();break;case "previousCharacter":cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.CHARACTER);break;case "nextCharacter":cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.CHARACTER);break;case "previousWord":cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.WORD);break;case "nextWord":cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.WORD);
break;case "previousSentence":cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.SENTENCE);break;case "nextSentence":cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.SENTENCE);break;case "previousLine":cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.LINE);break;case "nextLine":cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.LINE);break;case "previousObject":cvox.ChromeVox.navigationManager.navigate(!1,
cvox.NavigationShifter.GRANULARITIES.OBJECT);break;case "nextObject":cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.OBJECT);break;case "previousGroup":cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.GROUP);break;case "nextGroup":cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.GROUP);break;case "previousRow":case "previousCol":b="previousRow"==b?"nextRow":"nextCol";case "nextRow":case "nextCol":cvox.ChromeVox.navigationManager.performAction("enterShifterSilently");
cvox.ChromeVox.navigationManager.performAction(b);break;case "moveToStartOfLine":case "moveToEndOfLine":cvox.ChromeVox.navigationManager.setGranularity(cvox.NavigationShifter.GRANULARITIES.LINE);cvox.ChromeVox.navigationManager.sync();cvox.ChromeVox.navigationManager.collapseSelection();break;case "readFromHere":cvox.ChromeVox.navigationManager.setGranularity(cvox.NavigationShifter.GRANULARITIES.OBJECT,!0,!0);cvox.ChromeVox.navigationManager.startReading(cvox.AbstractTts.QUEUE_MODE_FLUSH);break;case "cycleTypingEcho":cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",
action:"setPref",pref:"typingEcho",value:cvox.TypingEcho.cycle(cvox.ChromeVox.typingEcho),announce:!0});break;case "jumpToTop":case cvox.BrailleKeyCommand.TOP:cvox.ChromeVox.navigationManager.syncToBeginning();break;case "jumpToBottom":case cvox.BrailleKeyCommand.BOTTOM:cvox.ChromeVox.navigationManager.syncToBeginning();break;case "stopSpeech":cvox.ChromeVox.navigationManager.stopReading(!0);break;case "toggleKeyboardHelp":cvox.KeyboardHelpWidget.getInstance().toggle();break;case "help":cvox.ChromeVox.tts.stop();
cvox.ChromeVox.host.sendToBackgroundPage({target:"HelpDocs",action:"open"});break;case "contextMenu":g=cvox.ChromeVox.navigationManager.getCurrentNode();"SELECT"!=g.tagName||g.multiple?(g=new cvox.ContextMenuWidget,g.toggle()):(new cvox.SelectWidget(g)).show();break;case "showBookmarkManager":cvox.ChromeVox.host.sendToBackgroundPage({target:"BookmarkManager",action:"open"});break;case "showOptionsPage":cvox.ChromeVox.tts.stop();cvox.ChromeVox.host.sendToBackgroundPage({target:"Options",action:"open"});
break;case "showKbExplorerPage":cvox.ChromeVox.tts.stop();cvox.ChromeVox.host.sendToBackgroundPage({target:"KbExplorer",action:"open"});break;case "readLinkURL":g=document.activeElement;h=window.getSelection().anchorNode;k="";"A"==g.tagName?k=cvox.DomUtil.getLinkURL(g):h&&(k=cvox.DomUtil.getLinkURL(h.parentNode));""!=k?cvox.ChromeVox.tts.speak(k):cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("no_url_found"));break;case "readCurrentTitle":cvox.ChromeVox.tts.speak(document.title);break;case "readCurrentURL":cvox.ChromeVox.tts.speak(document.URL);
break;case "performDefaultAction":cvox.DomPredicates.linkPredicate([document.activeElement])&&cvox.DomUtil.isInternalLink(document.activeElement)&&(cvox.DomUtil.syncInternalLink(document.activeElement),cvox.ChromeVox.navigationManager.sync(),a.announce=!0);break;case "forceClickOnCurrentItem":d=cvox.ChromeVox.msgs.getMsg("element_clicked");g=cvox.ChromeVox.navigationManager.getCurrentNode();cvox.DomUtil.clickElem(g,!1,!1);break;case "forceDoubleClickOnCurrentItem":d=cvox.ChromeVox.msgs.getMsg("element_double_clicked");
g=cvox.ChromeVox.navigationManager.getCurrentNode();cvox.DomUtil.clickElem(g,!1,!1,!0);break;case "toggleChromeVox":cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",action:"setPref",pref:"active",value:!cvox.ChromeVox.isActive});break;case "fullyDescribe":g=cvox.ChromeVox.navigationManager.getFullDescription();cvox.ChromeVox.navigationManager.speakDescriptionArray(g,cvox.AbstractTts.QUEUE_MODE_FLUSH,null);break;case "speakTimeAndDate":g=new Date;cvox.ChromeVox.tts.speak(g.toLocaleTimeString()+
", "+g.toLocaleDateString());break;case "toggleSelection":d=cvox.ChromeVox.navigationManager.togglePageSel();d=cvox.ChromeVox.msgs.getMsg(d?"begin_selection":"end_selection");break;case "startHistoryRecording":cvox.History.getInstance().startRecording();break;case "stopHistoryRecording":cvox.History.getInstance().stopRecording();break;case "enableConsoleTts":cvox.ConsoleTts.getInstance().setEnabled(!0);break;case "goToFirstCell":case "goToLastCell":case "goToRowFirstCell":case "goToRowLastCell":case "goToColFirstCell":case "goToColLastCell":case "announceHeaders":case "speakTableLocation":case "exitShifterContent":cvox.DomPredicates.tablePredicate(cvox.DomUtil.getAncestors(cvox.ChromeVox.navigationManager.getCurrentNode()))&&
cvox.ChromeVox.navigationManager.performAction(b)||(c="not_inside_table");break;case "enterShifter":case "exitShifter":cvox.ChromeVox.navigationManager.performAction(b);break;case "decreaseTtsRate":cvox.ChromeVox.tts.increaseOrDecreaseProperty(cvox.AbstractTts.RATE,!1);break;case "increaseTtsRate":cvox.ChromeVox.tts.increaseOrDecreaseProperty(cvox.AbstractTts.RATE,!0);break;case "decreaseTtsPitch":cvox.ChromeVox.tts.increaseOrDecreaseProperty(cvox.AbstractTts.PITCH,!1);break;case "increaseTtsPitch":cvox.ChromeVox.tts.increaseOrDecreaseProperty(cvox.AbstractTts.PITCH,
!0);break;case "decreaseTtsVolume":cvox.ChromeVox.tts.increaseOrDecreaseProperty(cvox.AbstractTts.VOLUME,!1);break;case "increaseTtsVolume":cvox.ChromeVox.tts.increaseOrDecreaseProperty(cvox.AbstractTts.VOLUME,!0);break;case "cyclePunctuationEcho":cvox.ChromeVox.host.sendToBackgroundPage({target:"TTS",action:"cyclePunctuationEcho"});break;case "toggleStickyMode":cvox.ChromeVox.host.sendToBackgroundPage({target:"Prefs",action:"setPref",pref:"sticky",value:!cvox.ChromeVox.isStickyOn,announce:!0});break;
case "toggleKeyPrefix":cvox.ChromeVox.keyPrefixOn=!cvox.ChromeVox.keyPrefixOn;break;case "passThroughMode":cvox.ChromeVox.passThroughMode=!0;cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("pass_through_key"));break;case "toggleSearchWidget":cvox.SearchWidget.getInstance().toggle();break;case "toggleEarcons":d=cvox.ChromeVox.earcons.toggle()?cvox.ChromeVox.msgs.getMsg("earcons_on"):cvox.ChromeVox.msgs.getMsg("earcons_off");break;case "showHeadingsList":case "showLinksList":case "showFormsList":case "showTablesList":case "showLandmarksList":if(!a.nodeList)break;
g=cvox.CommandStore.NODE_INFO_MAP[a.nodeList];cvox.NodeSearchWidget.create(g.typeMsg,cvox.DomPredicates[g.predicate]).show();break;case "openLongDesc":g=cvox.ChromeVox.navigationManager.getCurrentNode();cvox.DomUtil.hasLongDesc(g)?cvox.ChromeVox.host.sendToBackgroundPage({target:"OpenTab",url:g.longDesc}):cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("no_long_desc"),cvox.AbstractTts.QUEUE_MODE_FLUSH,cvox.AbstractTts.PERSONALITY_ANNOTATION);break;case "pauseAllMedia":k=document.getElementsByTagName("VIDEO");
for(g=0;h=k[g];g++)h.pause();k=document.getElementsByTagName("AUDIO");for(g=0;h=k[g];g++)h.pause();break;case "toggleSemantics":cvox.TraverseMath.toggleSemantic()?cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("semantics_on")):cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("semantics_off"));break;case cvox.BrailleKeyCommand.ROUTING:g=cvox.ChromeVox.navigationManager.getBraille();g=g.text.getSpans(a.displayPosition||0);g=g.filter(function(a){return a instanceof Node})[0];cvox.DomUtil.clickElem(g||
cvox.ChromeVox.navigationManager.getCurrentNode(),!1,!0);break;case cvox.BrailleKeyCommand.PAN_LEFT:case cvox.BrailleKeyCommand.LINE_UP:case cvox.BrailleKeyCommand.PAN_RIGHT:case cvox.BrailleKeyCommand.LINE_DOWN:cvox.ChromeVox.navigationManager.navigate(!1,cvox.NavigationShifter.GRANULARITIES.LINE);break;case "debug":break;case "nop":break;default:throw"Command behavior not defined: "+b;}""!=c?cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg(c),cvox.AbstractTts.QUEUE_MODE_FLUSH,cvox.AbstractTts.PERSONALITY_ANNOTATION):
cvox.ChromeVox.navigationManager.isReading()?a.disallowContinuation?cvox.ChromeVox.navigationManager.stopReading(!0):"readFromHere"!=b&&cvox.ChromeVox.navigationManager.skip():a.announce&&cvox.ChromeVox.navigationManager.finishNavCommand(d);a.allowEvents||cvox.ChromeVoxEventSuspender.exitSuspendEvents();return!!a.doDefault||e};
cvox.ChromeVoxUserCommands.handleChromeVoxUserEvent=function(a){a=new cvox.UserEventDetail(a.detail);a.command&&cvox.ChromeVoxUserCommands.doCommand_(cvox.ChromeVoxUserCommands.lookupCommand_(a.command,a))};cvox.ChromeVoxUserCommands.lookupCommand_=function(a,b){var c=cvox.CommandStore.CMD_WHITELIST[a];if(!c)throw"Invalid command: "+a;c=goog.object.clone(c);c.command=a;b&&goog.object.extend(c,b);return c};cvox.ChromeVoxUserCommands.init_();cvox.ChromeVoxKbHandler={};cvox.ChromeVoxKbHandler.loadKeyToFunctionsTable=function(a){window.JSON&&(cvox.ChromeVoxKbHandler.handlerKeyMap=cvox.KeyMap.fromJSON(a))};cvox.ChromeVoxKbHandler.sortKeyToFunctionsTable_=function(a){function b(a,b){return a[0].length<b[0].length?-1:b[0].length<a[0].length?1:a[0].localeCompare(b[0])}var c=[],d;for(d in a)c.push([d,a[d]]);c.sort(b);return c};
cvox.ChromeVoxKbHandler.basicKeyDownActionsListener=function(a){var b=cvox.KeyUtil.keyEventToKeySequence(a);a=void 0!=cvox.ChromeVoxKbHandler.handlerKeyMap?cvox.ChromeVoxKbHandler.handlerKeyMap.commandForKey(b):null;if(!a)return!cvox.KeyUtil.sequencing;if(!cvox.ChromeVox.isActive&&"toggleChromeVox"!=a)return!0;var c=!0,d=cvox.ChromeVoxUserCommands.commands[a];d?(b=cvox.History.getInstance(),b.enterUserCommand(a),c=d(),b.exitUserCommand(a)):b.cvoxModifier&&(c=!1);cvox.ChromeVox.entireDocumentIsHidden&&
(c=!0);return c};cvox.LiveRegions=function(){};cvox.LiveRegions.pageLoadTime=null;cvox.LiveRegions.INITIAL_SILENCE_MS=2E3;cvox.LiveRegions.lastAnnouncedMap={};cvox.LiveRegions.MAX_DISCARD_DUPS_MS=2E3;cvox.LiveRegions.lastAnnouncedTime=null;cvox.LiveRegions.nodesAlreadyHandled=[];
cvox.LiveRegions.init=function(a,b,c){void 0==b&&(b=cvox.AbstractTts.QUEUE_MODE_FLUSH);cvox.LiveRegions.pageLoadTime=a;if(c||!document.hasFocus())return!1;var d=!1;a=cvox.AriaUtil.getLiveRegions(document.body);for(c=0;c<a.length;c++)cvox.LiveRegions.handleOneChangedNode(a[c],a[c],!1,!1,function(a,c){a||b!=cvox.AbstractTts.QUEUE_MODE_FLUSH||(b=cvox.AbstractTts.QUEUE_MODE_QUEUE);var g=new cvox.NavigationSpeaker;g.speakDescriptionArray(c,b,null);d=!0});cvox.Interframe.addListener(function(a){if("speakLiveRegion"==
a.command)for(var b=document.getElementsByTagName("iframe"),c=0,d;d=b[c];c++)if(d.src==a.src){if(!cvox.DomUtil.isVisible(d))break;d=JSON.parse(a.content);for(var k=[],l=0,m;m=d[l];l++)k.push(new cvox.NavDescription(m));(new cvox.NavigationSpeaker).speakDescriptionArray(k,a.queueMode,null)}});return d};
cvox.LiveRegions.processMutations=function(a,b){cvox.LiveRegions.nodesAlreadyHandled=[];a.forEach(function(a){if(!a.target.hasAttribute||!a.target.hasAttribute("cvoxIgnore")){if(a.addedNodes)for(var d=0;d<a.addedNodes.length;d++)a.addedNodes[d].hasAttribute&&a.addedNodes[d].hasAttribute("cvoxIgnore")||cvox.LiveRegions.handleOneChangedNode(a.addedNodes[d],a.target,!1,!0,b);if(a.removedNodes)for(d=0;d<a.removedNodes.length;d++)a.removedNodes[d].hasAttribute&&a.removedNodes[d].hasAttribute("cvoxIgnore")||
cvox.LiveRegions.handleOneChangedNode(a.removedNodes[d],a.target,!0,!1,b);"characterData"==a.type&&cvox.LiveRegions.handleOneChangedNode(a.target,a.target,!1,!1,b);if("class"==a.attributeName||"style"==a.attributeName||"hidden"==a.attributeName){var e=a.attributeName,d=a.target,f=!cvox.DomUtil.isVisible(d),g=document.createElement("div");g.setAttribute("cvoxIgnore","1");g.setAttribute("class",d.getAttribute("class"));g.setAttribute("style",d.getAttribute("style"));g.setAttribute("hidden",d.getAttribute("hidden"));
g.setAttribute(e,a.oldValue);e=!0;d.parentElement?(d.parentElement.appendChild(g),e=!cvox.DomUtil.isVisible(g),d.parentElement.removeChild(g)):e=!cvox.DomUtil.isVisible(g);!0===e&&!1===f?cvox.LiveRegions.handleOneChangedNode(a.target,a.target,!1,!0,b):!1===e&&!0===f&&cvox.LiveRegions.handleOneChangedNode(a.target,a.target,!0,!1,b)}}});cvox.LiveRegions.nodesAlreadyHandled.length=0};
cvox.LiveRegions.handleOneChangedNode=function(a,b,c,d,e){var f=c?b:a;f instanceof Element||(f=f.parentElement);for(;f&&!cvox.AriaUtil.getAriaLive(f);)f=f.parentElement;if(!f){if(d&&a!=document.body)for(a=cvox.AriaUtil.getLiveRegions(a),d=0;d<a.length;d++)cvox.LiveRegions.handleOneChangedNode(a[d],b,c,!1,e)}else if(!(0<=cvox.LiveRegions.nodesAlreadyHandled.indexOf(a)||(cvox.LiveRegions.nodesAlreadyHandled.push(a),cvox.AriaUtil.getAriaBusy(f)))){if(c){if(!cvox.AriaUtil.getAriaRelevant(f,"removals"))return}else if(!cvox.AriaUtil.getAriaRelevant(f,
"additions"))return;cvox.LiveRegions.announceChange(a,f,c,e)}};
cvox.LiveRegions.announceChange=function(a,b,c,d){var e=new Date-cvox.LiveRegions.pageLoadTime;if(!("alert"!=cvox.AriaUtil.getRoleAttribute(b)&&e<cvox.LiveRegions.INITIAL_SILENCE_MS)&&cvox.DomUtil.isVisible(b)){if(a!=b)for(var f=a.parentElement;f;){(cvox.AriaUtil.getAriaAtomic(f)||cvox.AriaUtil.isLeafElement(f)||cvox.AriaUtil.isControlWidget(f))&&!cvox.AriaUtil.isCompositeControl(f)&&(a=f);if(f==b)break;f=f.parentElement}a=cvox.LiveRegions.getNavDescriptionsRecursive(a);if(0!=a.length){c&&(a=[new cvox.NavDescription({context:cvox.ChromeVox.msgs.getMsg("live_regions_removed"),
text:""})].concat(a));if("alert"==cvox.AriaUtil.getRoleAttribute(b)&&e<cvox.LiveRegions.INITIAL_SILENCE_MS){c="";for(e=0;e<a.length;e++)c+=a[e].text,c+=a[e].userValue;if(""==cvox.DomUtil.collapseWhitespace(c))return}c=new Date;for(var g in cvox.LiveRegions.lastAnnouncedMap)c-cvox.LiveRegions.lastAnnouncedMap[g]>cvox.LiveRegions.MAX_DISCARD_DUPS_MS&&delete cvox.LiveRegions.lastAnnouncedMap[g];g=a.reduce(function(a,b){return a+"|"+b.text},"");cvox.LiveRegions.lastAnnouncedMap[g]||(cvox.LiveRegions.lastAnnouncedMap[g]=
c,b="assertive"==cvox.AriaUtil.getAriaLive(b),cvox.Interframe.isIframe()&&!document.hasFocus()?cvox.Interframe.sendMessageToParentWindow({command:"speakLiveRegion",content:JSON.stringify(a),queueMode:b?0:1,src:window.location.href}):d(b,a))}}};
cvox.LiveRegions.getNavDescriptionsRecursive=function(a){return cvox.AriaUtil.getAriaAtomic(a)||cvox.DomUtil.isLeafNode(a)?(a=cvox.DescriptionUtil.getDescriptionFromAncestors([a],!0,cvox.ChromeVox.verbosity),a.isEmpty()?[]:[a]):cvox.DescriptionUtil.getFullDescriptionsFromChildren(null,a)};cvox.LiveRegionsDeprecated=function(){};cvox.LiveRegionsDeprecated.trackedRegions=[];cvox.LiveRegionsDeprecated.previousRegionValue=[];cvox.LiveRegionsDeprecated.pageLoadTime=null;cvox.LiveRegionsDeprecated.INITIAL_SILENCE_MS=2E3;
cvox.LiveRegionsDeprecated.init=function(a,b,c){void 0==b&&(b=cvox.AbstractTts.QUEUE_MODE_FLUSH);cvox.LiveRegionsDeprecated.pageLoadTime=a;a=!1;for(var d=cvox.AriaUtil.getLiveRegions(document.body),e=0;e<d.length;e++)cvox.LiveRegionsDeprecated.updateLiveRegion(d[e],b,c)&&(a=!0,b=cvox.AbstractTts.QUEUE_MODE_QUEUE);return a};
cvox.LiveRegionsDeprecated.updateLiveRegion=function(a,b,c){if(cvox.AriaUtil.getAriaBusy(a)||!cvox.DomUtil.isVisible(a))return!1;var d=cvox.LiveRegionsDeprecated.trackedRegions.indexOf(a),e;0<=d?e=cvox.LiveRegionsDeprecated.previousRegionValue[d]:(d=cvox.LiveRegionsDeprecated.trackedRegions.length,e=[],cvox.LiveRegionsDeprecated.trackedRegions.push(a),cvox.LiveRegionsDeprecated.previousRegionValue.push([]));var f=cvox.LiveRegionsDeprecated.buildCurrentLiveRegionValue(a),g=new Date-cvox.LiveRegionsDeprecated.pageLoadTime;
if("alert"!=cvox.AriaUtil.getRoleAttribute(a)&&g<cvox.LiveRegionsDeprecated.INITIAL_SILENCE_MS)return cvox.LiveRegionsDeprecated.previousRegionValue[d]=f,!1;if("alert"==cvox.AriaUtil.getRoleAttribute(a)&&g<cvox.LiveRegionsDeprecated.INITIAL_SILENCE_MS){for(var h="",g=0;g<f.length;g++)h+=f[g].text,h+=f[g].userValue;if(""==cvox.DomUtil.collapseWhitespace(h))return cvox.LiveRegionsDeprecated.previousRegionValue[d]=f,!1}for(var k={},g=0;g<e.length;g++)k[e[g].toString()]=!0;for(var l={},g=0;g<f.length;g++)l[f[g].toString()]=
!0;h=[];if(cvox.AriaUtil.getAriaRelevant(a,"additions"))for(g=0;g<f.length;g++)k[f[g].toString()]||h.push(f[g]);k=[];if(cvox.AriaUtil.getAriaRelevant(a,"removals"))for(g=0;g<e.length;g++)l[e[g].toString()]||k.push(e[g]);e=[];e=0==h.length&&0<k.length?[new cvox.NavDescription({context:cvox.ChromeVox.msgs.getMsg("live_regions_removed"),text:""})].concat(k):h;cvox.LiveRegionsDeprecated.previousRegionValue[d]=f;if(c||0==e.length)return!1;a=cvox.AriaUtil.getAriaLive(a);"polite"==a&&(b=cvox.AbstractTts.QUEUE_MODE_QUEUE);
for(g=0;g<e.length;g++)e[g].speak(b),b=cvox.AbstractTts.QUEUE_MODE_QUEUE;return!0};
cvox.LiveRegionsDeprecated.buildCurrentLiveRegionValue=function(a){if(cvox.AriaUtil.getAriaAtomic(a)||cvox.DomUtil.isLeafNode(a)){var b=cvox.DescriptionUtil.getDescriptionFromAncestors([a],!0,cvox.ChromeVox.verbosity);return b.isEmpty()?[]:[b]}var c=[],b=cvox.DescriptionUtil.getDescriptionFromAncestors([a],!1,cvox.ChromeVox.verbosity);b.isEmpty()||c.push(b);for(b=0;b<a.childNodes.length;b++){var d=a.childNodes[b];cvox.DomUtil.isVisible(d,{checkAncestors:!1})&&!cvox.AriaUtil.isHidden(d)&&(d=cvox.LiveRegionsDeprecated.buildCurrentLiveRegionValue(d),
c=c.concat(d))}return c};cvox.ChromeVoxEventWatcherUtil={};cvox.ChromeVoxEventWatcher=function(){};cvox.ChromeVoxEventWatcher.MAX_WAIT_TIME_MS_=50;cvox.ChromeVoxEventWatcher.WAIT_TIME_MS_=10;cvox.ChromeVoxEventWatcher.SUBTREE_MODIFIED_BURST_DURATION_=1E3;cvox.ChromeVoxEventWatcher.SUBTREE_MODIFIED_BURST_COUNT_LIMIT_=3;cvox.ChromeVoxEventWatcher.MAX_LIVE_REGIONS_=5;cvox.ChromeVoxEventWatcher.shouldEchoKeys=!0;cvox.ChromeVoxEventWatcher.processing_=!1;
cvox.ChromeVoxEventWatcher.init=function(a){cvox.ChromeVoxEventWatcher.lastFocusedNode=null;cvox.ChromeVoxEventWatcher.announcedMouseOverNode=null;cvox.ChromeVoxEventWatcher.pendingMouseOverNode=null;cvox.ChromeVoxEventWatcher.mouseOverTimeoutId=null;cvox.ChromeVoxEventWatcher.lastFocusedNodeValue=null;cvox.ChromeVoxEventWatcher.eventToEat=null;cvox.ChromeVoxEventWatcher.currentTextControl=null;cvox.ChromeVoxEventWatcher.currentTextHandler=null;cvox.ChromeVoxEventWatcher.lastKeypressTime=0;cvox.ChromeVoxEventWatcher.listeners_=
[];cvox.ChromeVoxEventWatcher.mutationObserver_=null;cvox.ChromeVoxEventWatcher.focusFollowsMouse=!1;cvox.ChromeVoxEventWatcher.mouseoverDelayMs=500;cvox.ChromeVoxEventWatcher.events_=[];cvox.ChromeVoxEventWatcher.lastEventTime=0;cvox.ChromeVoxEventWatcher.firstUnprocessedEventTime=-1;cvox.ChromeVoxEventWatcher.queueProcessingScheduled_=!1;cvox.ChromeVoxEventWatcher.readyCallbacks_=[];cvox.ChromeVoxEventWatcher.secondPassThroughKeyUp_=!1;cvox.ChromeVox.searchKeyHeld=!1;cvox.ChromeVoxEventWatcher.textMutationObserver_=
null;cvox.ChromeVoxEventWatcher.addEventListeners_(a);cvox.ChromeVoxEventWatcher.lastSubtreeModifiedEventBurstTime_=0;cvox.ChromeVoxEventWatcher.subtreeModifiedEventsCount_=0};cvox.ChromeVoxEventWatcher.storeOn=function(a){a.searchKeyHeld=cvox.ChromeVox.searchKeyHeld};cvox.ChromeVoxEventWatcher.readFrom=function(a){cvox.ChromeVox.searchKeyHeld=a.searchKeyHeld};
cvox.ChromeVoxEventWatcher.addEvent=function(a){if(!cvox.ChromeVox.isActive||document.webkitHidden)return!1;cvox.ChromeVoxEventWatcher.events_.push(a);cvox.ChromeVoxEventWatcher.lastEventTime=(new Date).getTime();-1==cvox.ChromeVoxEventWatcher.firstUnprocessedEventTime&&(cvox.ChromeVoxEventWatcher.firstUnprocessedEventTime=(new Date).getTime());cvox.ChromeVoxEventWatcher.queueProcessingScheduled_||(cvox.ChromeVoxEventWatcher.queueProcessingScheduled_=!0,window.setTimeout(cvox.ChromeVoxEventWatcher.processQueue_,
cvox.ChromeVoxEventWatcher.WAIT_TIME_MS_))};cvox.ChromeVoxEventWatcher.addReadyCallback=function(a){cvox.ChromeVoxEventWatcher.readyCallbacks_.push(a);cvox.ChromeVoxEventWatcher.maybeCallReadyCallbacks_()};cvox.ChromeVoxEventWatcher.hasPendingEvents_=function(){return-1!=cvox.ChromeVoxEventWatcher.firstUnprocessedEventTime||cvox.ChromeVoxEventWatcher.queueProcessingScheduled_};cvox.ChromeVoxEventWatcher.readyCallbackRunning_=!1;
cvox.ChromeVoxEventWatcher.maybeCallReadyCallbacks_=function(){cvox.ChromeVoxEventWatcher.readyCallbackRunning_||(cvox.ChromeVoxEventWatcher.readyCallbackRunning_=!0,window.setTimeout(function(){cvox.ChromeVoxEventWatcher.readyCallbackRunning_=!1;!cvox.ChromeVoxEventWatcher.hasPendingEvents_()&&!cvox.ChromeVoxEventWatcher.queueProcessingScheduled_&&0<cvox.ChromeVoxEventWatcher.readyCallbacks_.length&&(cvox.ChromeVoxEventWatcher.readyCallbacks_.shift()(),cvox.ChromeVoxEventWatcher.maybeCallReadyCallbacks_())},
5))};
cvox.ChromeVoxEventWatcher.addEventListeners_=function(a){cvox.ChromeVoxEventWatcher.addEventListener_(a,"keydown",cvox.ChromeVoxEventWatcher.keyDownEventWatcher,!0);if(cvox.ChromeVox.isActive&&!cvox.ChromeVox.entireDocumentIsHidden)if(cvox.ChromeVoxEventWatcher.addEventListener_(a,"keypress",cvox.ChromeVoxEventWatcher.keyPressEventWatcher,!0),cvox.ChromeVoxEventWatcher.addEventListener_(a,"keyup",cvox.ChromeVoxEventWatcher.keyUpEventWatcher,!0),cvox.ChromeVoxEventWatcher.addEventListener_(a,cvox.UserEventDetail.Category.JUMP,
cvox.ChromeVoxUserCommands.handleChromeVoxUserEvent,!1),cvox.ChromeVoxEventWatcher.addEventListener_(a,"focus",cvox.ChromeVoxEventWatcher.focusEventWatcher,!0),cvox.ChromeVoxEventWatcher.addEventListener_(a,"blur",cvox.ChromeVoxEventWatcher.blurEventWatcher,!0),cvox.ChromeVoxEventWatcher.addEventListener_(a,"change",cvox.ChromeVoxEventWatcher.changeEventWatcher,!0),cvox.ChromeVoxEventWatcher.addEventListener_(a,"copy",cvox.ChromeVoxEventWatcher.clipboardEventWatcher,!0),cvox.ChromeVoxEventWatcher.addEventListener_(a,
"cut",cvox.ChromeVoxEventWatcher.clipboardEventWatcher,!0),cvox.ChromeVoxEventWatcher.addEventListener_(a,"paste",cvox.ChromeVoxEventWatcher.clipboardEventWatcher,!0),cvox.ChromeVoxEventWatcher.addEventListener_(a,"select",cvox.ChromeVoxEventWatcher.selectEventWatcher,!0),cvox.ChromeVoxEventWatcher.addEventListener_(a,"webkitvisibilitychange",cvox.ChromeVoxEventWatcher.visibilityChangeWatcher,!0),cvox.ChromeVoxEventWatcher.events_=[],cvox.ChromeVoxEventWatcher.queueProcessingScheduled_=!1,cvox.ChromeVoxEventWatcher.addEventListener_(a,
"mouseover",cvox.ChromeVoxEventWatcher.mouseOverEventWatcher,!0),cvox.ChromeVoxEventWatcher.addEventListener_(a,"mouseout",cvox.ChromeVoxEventWatcher.mouseOutEventWatcher,!0),cvox.ChromeVoxEventWatcher.addEventListener_(a,"click",cvox.ChromeVoxEventWatcher.mouseClickEventWatcher,!0),"undefined"!=typeof WebKitMutationObserver){cvox.ChromeVoxEventWatcher.mutationObserver_=new WebKitMutationObserver(cvox.ChromeVoxEventWatcher.mutationHandler);var b=null;a.documentElement?b=a.documentElement:a.document&&
a.document.documentElement&&(b=a.document.documentElement);b&&cvox.ChromeVoxEventWatcher.mutationObserver_.observe(b,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0})}else cvox.ChromeVoxEventWatcher.addEventListener_(a,"DOMSubtreeModified",cvox.ChromeVoxEventWatcher.subtreeModifiedEventWatcher,!0)};
cvox.ChromeVoxEventWatcher.cleanup=function(a){for(var b=0;b<cvox.ChromeVoxEventWatcher.listeners_.length;b++){var c=cvox.ChromeVoxEventWatcher.listeners_[b];a.removeEventListener(c.type,c.listener,c.useCapture)}cvox.ChromeVoxEventWatcher.listeners_=[];cvox.ChromeVoxEventWatcher.currentDateHandler&&cvox.ChromeVoxEventWatcher.currentDateHandler.shutdown();cvox.ChromeVoxEventWatcher.currentTimeHandler&&cvox.ChromeVoxEventWatcher.currentTimeHandler.shutdown();cvox.ChromeVoxEventWatcher.currentMediaHandler&&
cvox.ChromeVoxEventWatcher.currentMediaHandler.shutdown();cvox.ChromeVoxEventWatcher.mutationObserver_&&cvox.ChromeVoxEventWatcher.mutationObserver_.disconnect();cvox.ChromeVoxEventWatcher.mutationObserver_=null};cvox.ChromeVoxEventWatcher.addEventListener_=function(a,b,c,d){cvox.ChromeVoxEventWatcher.listeners_.push({type:b,listener:c,useCapture:d});a.addEventListener(b,c,d)};cvox.ChromeVoxEventWatcher.getLastFocusedNode=function(){return cvox.ChromeVoxEventWatcher.lastFocusedNode};
cvox.ChromeVoxEventWatcher.setLastFocusedNode_=function(a){cvox.ChromeVoxEventWatcher.lastFocusedNode=a;cvox.ChromeVoxEventWatcher.lastFocusedNodeValue=a?cvox.DomUtil.getControlValueAndStateString(a):null};
cvox.ChromeVoxEventWatcher.mutationHandler=function(a){if(cvox.ChromeVoxEventSuspender.areEventsSuspended())return!0;cvox.ChromeVox.navigationManager.updateIndicatorIfChanged();cvox.LiveRegions.processMutations(a,function(a,c){var d=new window.Event("LiveRegion");d.navDescriptions=c;d.assertive=a;cvox.ChromeVoxEventWatcher.addEvent(d);return!0})};
cvox.ChromeVoxEventWatcher.mouseClickEventWatcher=function(a){cvox.PlatformUtil.matchesPlatform(cvox.PlatformFilter.WML)&&!a.fromCvox&&cvox.ApiImplementation.syncToNode(a.target,!0);return cvox.ChromeVox.host.mustRedispatchClickEvent()&&!a.fromCvox?(cvox.ChromeVoxUserCommands.wasMouseClicked=!0,a.stopPropagation(),a.preventDefault(),cvox.Focuser.setFocus(cvox.ChromeVox.navigationManager.getCurrentNode()),cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("element_clicked"),cvox.AbstractTts.QUEUE_MODE_FLUSH,
cvox.AbstractTts.PERSONALITY_ANNOTATION),a=cvox.ChromeVox.navigationManager.getCurrentNode(),cvox.DomUtil.clickElem(a,!1,!0),!1):cvox.ChromeVoxUserCommands.wasMouseClicked=!0};
cvox.ChromeVoxEventWatcher.mouseOverEventWatcher=function(a){if(!cvox.ChromeVoxEventWatcher.focusFollowsMouse||cvox.DomUtil.isDescendantOfNode(cvox.ChromeVoxEventWatcher.announcedMouseOverNode,a.target)||a.target==cvox.ChromeVoxEventWatcher.pendingMouseOverNode)return!0;cvox.ChromeVoxEventWatcher.pendingMouseOverNode=a.target;cvox.ChromeVoxEventWatcher.mouseOverTimeoutId&&(window.clearTimeout(cvox.ChromeVoxEventWatcher.mouseOverTimeoutId),cvox.ChromeVoxEventWatcher.mouseOverTimeoutId=null);if(a.target.tagName&&
"BODY"==a.target.tagName)return cvox.ChromeVoxEventWatcher.pendingMouseOverNode=null,cvox.ChromeVoxEventWatcher.announcedMouseOverNode=null,!0;cvox.ChromeVoxEventWatcher.mouseOverTimeoutId=window.setTimeout(function(){cvox.ChromeVoxEventWatcher.mouseOverTimeoutId=null;if(a.target==cvox.ChromeVoxEventWatcher.pendingMouseOverNode){cvox.ChromeVox.navigationManager.stopReading(!0);var b=a.target;cvox.Focuser.setFocus(b);cvox.ApiImplementation.syncToNode(b,!0,cvox.AbstractTts.QUEUE_MODE_FLUSH);cvox.ChromeVoxEventWatcher.announcedMouseOverNode=
b}},cvox.ChromeVoxEventWatcher.mouseoverDelayMs);return!0};cvox.ChromeVoxEventWatcher.mouseOutEventWatcher=function(a){a.target==cvox.ChromeVoxEventWatcher.pendingMouseOverNode&&(cvox.ChromeVoxEventWatcher.pendingMouseOverNode=null,cvox.ChromeVoxEventWatcher.mouseOverTimeoutId&&(window.clearTimeout(cvox.ChromeVoxEventWatcher.mouseOverTimeoutId),cvox.ChromeVoxEventWatcher.mouseOverTimeoutId=null));return!0};
cvox.ChromeVoxEventWatcher.focusEventWatcher=function(a){cvox.ChromeVoxUserCommands.removeTabDummySpan();cvox.ChromeVoxEventSuspender.areEventsSuspended()?a.target&&a.target.nodeType==Node.ELEMENT_NODE&&cvox.ChromeVoxEventWatcher.setLastFocusedNode_(a.target):cvox.ChromeVoxEventWatcher.addEvent(a);return!0};
cvox.ChromeVoxEventWatcher.focusHandler=function(a){if(a.target&&a.target.hasAttribute&&"true"==a.target.getAttribute("aria-hidden")&&"true"!=a.target.getAttribute("chromevoxignoreariahidden"))cvox.ChromeVoxEventWatcher.setLastFocusedNode_(null),cvox.ChromeVoxEventWatcher.setUpTextHandler();else if(a.target&&a.target!=window){var b=a.target,c=cvox.DomUtil.getSurroundingControl(b);if(c&&c==cvox.ChromeVoxEventWatcher.lastFocusedNode)cvox.ChromeVoxEventWatcher.handleControlChanged(b);else{c?cvox.ChromeVoxEventWatcher.setLastFocusedNode_(c):
cvox.ChromeVoxEventWatcher.setLastFocusedNode_(b);c=cvox.ChromeVoxEventWatcher.queueMode_();if(cvox.ChromeVoxEventWatcher.getInitialVisibility()||cvox.ChromeVoxEventWatcher.handleDialogFocus(b))c=cvox.AbstractTts.QUEUE_MODE_QUEUE;cvox.ChromeVox.navigationManager.clearPageSel(!0)&&(c=cvox.AbstractTts.QUEUE_MODE_QUEUE);cvox.ApiImplementation.syncToNode(b,!document.webkitHidden,c);if(a.target.constructor==HTMLVideoElement||a.target.constructor==HTMLAudioElement)cvox.ChromeVoxEventWatcher.setUpMediaHandler_();
else{if(a.target.hasAttribute)switch(a=a.target.getAttribute("type"),a){case "time":cvox.ChromeVoxEventWatcher.setUpTimeHandler_();return;case "date":case "month":case "week":cvox.ChromeVoxEventWatcher.setUpDateHandler_();return}cvox.ChromeVoxEventWatcher.setUpTextHandler()}}}else cvox.ChromeVoxEventWatcher.setLastFocusedNode_(null)};
cvox.ChromeVoxEventWatcher.blurEventWatcher=function(a){window.setTimeout(function(){document.activeElement||(cvox.ChromeVoxEventWatcher.setLastFocusedNode_(null),cvox.ChromeVoxEventWatcher.addEvent(a))},0);return!0};
cvox.ChromeVoxEventWatcher.keyDownEventWatcher=function(a){if(cvox.ChromeVox.passThroughMode)return!0;cvox.ChromeVox.isChromeOS&&91==a.keyCode&&(cvox.ChromeVox.searchKeyHeld=!0);a.searchKeyHeld=cvox.ChromeVox.searchKeyHeld&&cvox.ChromeVox.isActive;a.stickyMode=cvox.ChromeVox.isStickyOn&&cvox.ChromeVox.isActive;a.keyPrefix=cvox.ChromeVox.keyPrefixOn&&cvox.ChromeVox.isActive;cvox.ChromeVox.keyPrefixOn=!1;cvox.ChromeVoxEventWatcher.eventToEat=null;if(!cvox.ChromeVoxKbHandler.basicKeyDownActionsListener(a)||
cvox.ChromeVoxEventWatcher.handleControlAction(a))return a.preventDefault(),a.stopPropagation(),cvox.ChromeVoxEventWatcher.eventToEat=a,!1;cvox.ChromeVoxEventWatcher.addEvent(a);return!0};
cvox.ChromeVoxEventWatcher.keyUpEventWatcher=function(a){91==a.keyCode&&(cvox.ChromeVox.searchKeyHeld=!1);return cvox.ChromeVox.passThroughMode?(a.ctrlKey||a.altKey||a.metaKey||a.shiftKey||cvox.ChromeVox.searchKeyHeld||(this.secondPassThroughKeyUp_?(this.secondPassThroughKeyUp_=!1,cvox.ChromeVox.passThroughMode=!1):this.secondPassThroughKeyUp_=!0),!0):cvox.ChromeVoxEventWatcher.eventToEat&&a.keyCode==cvox.ChromeVoxEventWatcher.eventToEat.keyCode?(a.stopPropagation(),a.preventDefault(),!1):!0};
cvox.ChromeVoxEventWatcher.keyPressEventWatcher=function(a){var b=document.location.href,c=cvox.TypingEcho.shouldSpeakChar(cvox.ChromeVox.typingEcho);"undefined"!==typeof cvox.ChromeVox.keyEcho[b]&&(c=cvox.ChromeVox.keyEcho[b]);cvox.ChromeVoxEditableTextBase.eventTypingEcho&&c&&cvox.DomPredicates.editTextPredicate([document.activeElement])&&"password"!==document.activeElement.type&&(b=(new Date).getTime(),150<b-cvox.ChromeVoxEventWatcher.lastKeypressTime&&cvox.ChromeVox.tts.stop(),cvox.ChromeVoxEventWatcher.lastKeypressTime=
b,cvox.ChromeVox.tts.speak(String.fromCharCode(a.charCode),1,{relativeRate:2}));cvox.ChromeVoxEventWatcher.addEvent(a);return cvox.ChromeVoxEventWatcher.eventToEat&&a.keyCode==cvox.ChromeVoxEventWatcher.eventToEat.keyCode?(a.preventDefault(),a.stopPropagation(),!1):!0};cvox.ChromeVoxEventWatcher.changeEventWatcher=function(a){cvox.ChromeVoxEventWatcher.addEvent(a);return!0};
cvox.ChromeVoxEventWatcher.clipboardEventWatcher=function(a){cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg(a.type).toLowerCase());var b="";switch(a.type){case "paste":b=a.clipboardData.getData("text");break;case "copy":case "cut":b=window.getSelection().toString()}cvox.ChromeVox.tts.speak(b,cvox.AbstractTts.QUEUE_MODE_QUEUE);cvox.ChromeVox.navigationManager.clearPageSel();return!0};
cvox.ChromeVoxEventWatcher.changeHandler=function(a){cvox.ChromeVoxEventWatcher.setUpTextHandler()||document.activeElement==a.target&&cvox.ChromeVoxEventWatcher.handleControlChanged(document.activeElement)};cvox.ChromeVoxEventWatcher.selectEventWatcher=function(a){cvox.ChromeVoxEventWatcher.addEvent(a);return!0};cvox.ChromeVoxEventWatcher.subtreeModifiedEventWatcher=function(a){if(!a||!a.target)return!0;cvox.ChromeVoxEventWatcher.addEvent(a);return!0};
cvox.ChromeVoxEventWatcher.visibilityChangeWatcher=function(){cvox.ChromeVoxEventWatcher.initialVisibility=!document.webkitHidden;document.webkitHidden&&cvox.ChromeVox.navigationManager.stopReading(!0)};cvox.ChromeVoxEventWatcher.getInitialVisibility=function(){var a=cvox.ChromeVoxEventWatcher.initialVisibility;cvox.ChromeVoxEventWatcher.initialVisibility=!1;return a};
cvox.ChromeVoxEventWatcher.speakLiveRegion_=function(a,b){var c=cvox.ChromeVoxEventWatcher.queueMode_();a||c!=cvox.AbstractTts.QUEUE_MODE_FLUSH||(c=cvox.AbstractTts.QUEUE_MODE_QUEUE);var d=new cvox.NavigationSpeaker;d.speakDescriptionArray(b,c,null)};
cvox.ChromeVoxEventWatcher.subtreeModifiedHandler=function(a){var b=(new Date).getTime();if(cvox.ChromeVoxEventWatcher.lastSubtreeModifiedEventBurstTime_+cvox.ChromeVoxEventWatcher.SUBTREE_MODIFIED_BURST_DURATION_>b){if(cvox.ChromeVoxEventWatcher.subtreeModifiedEventsCount_++,cvox.ChromeVoxEventWatcher.subtreeModifiedEventsCount_>cvox.ChromeVoxEventWatcher.SUBTREE_MODIFIED_BURST_COUNT_LIMIT_)return}else cvox.ChromeVoxEventWatcher.lastSubtreeModifiedEventBurstTime_=b,cvox.ChromeVoxEventWatcher.subtreeModifiedEventsCount_=
1;if(a&&a.target)for(a=a.target,a=cvox.AriaUtil.getLiveRegions(a),b=0;b<a.length&&b<cvox.ChromeVoxEventWatcher.MAX_LIVE_REGIONS_;b++)cvox.LiveRegionsDeprecated.updateLiveRegion(a[b],cvox.ChromeVoxEventWatcher.queueMode_(),!1)};
cvox.ChromeVoxEventWatcher.setUpTextHandler=function(){var a=document.activeElement;a&&a.hasAttribute&&"true"==a.getAttribute("aria-hidden")&&"true"!=a.getAttribute("chromevoxignoreariahidden")&&(a=null);if(a!=cvox.ChromeVoxEventWatcher.currentTextControl){cvox.ChromeVoxEventWatcher.currentTextControl&&(cvox.ChromeVoxEventWatcher.currentTextControl.removeEventListener("input",cvox.ChromeVoxEventWatcher.changeEventWatcher,!1),cvox.ChromeVoxEventWatcher.currentTextControl.removeEventListener("click",
cvox.ChromeVoxEventWatcher.changeEventWatcher,!1),cvox.ChromeVoxEventWatcher.textMutationObserver_&&(cvox.ChromeVoxEventWatcher.textMutationObserver_.disconnect(),cvox.ChromeVoxEventWatcher.textMutationObserver_=null));cvox.ChromeVoxEventWatcher.currentTextControl=null;cvox.ChromeVoxEventWatcher.currentTextHandler&&(cvox.ChromeVoxEventWatcher.currentTextHandler.teardown(),cvox.ChromeVoxEventWatcher.currentTextHandler=null);if(null==a)return!1;if(a.constructor==HTMLInputElement&&cvox.DomUtil.isInputTypeText(a)&&
cvox.ChromeVoxEventWatcher.shouldEchoKeys)cvox.ChromeVoxEventWatcher.currentTextControl=a,cvox.ChromeVoxEventWatcher.currentTextHandler=new cvox.ChromeVoxEditableHTMLInput(a,cvox.ChromeVox.tts);else if(a.constructor==HTMLTextAreaElement&&cvox.ChromeVoxEventWatcher.shouldEchoKeys)cvox.ChromeVoxEventWatcher.currentTextControl=a,cvox.ChromeVoxEventWatcher.currentTextHandler=new cvox.ChromeVoxEditableTextArea(a,cvox.ChromeVox.tts);else if(a.isContentEditable||"textbox"==a.getAttribute("role"))cvox.ChromeVoxEventWatcher.currentTextControl=
a,cvox.ChromeVoxEventWatcher.currentTextHandler=new cvox.ChromeVoxEditableContentEditable(a,cvox.ChromeVox.tts);cvox.ChromeVoxEventWatcher.currentTextControl&&(cvox.ChromeVoxEventWatcher.currentTextControl.addEventListener("input",cvox.ChromeVoxEventWatcher.changeEventWatcher,!1),cvox.ChromeVoxEventWatcher.currentTextControl.addEventListener("click",cvox.ChromeVoxEventWatcher.changeEventWatcher,!1),window.WebKitMutationObserver&&(cvox.ChromeVoxEventWatcher.textMutationObserver_=new WebKitMutationObserver(cvox.ChromeVoxEventWatcher.onTextMutation),
cvox.ChromeVoxEventWatcher.textMutationObserver_.observe(cvox.ChromeVoxEventWatcher.currentTextControl,{childList:!0,attributes:!0,subtree:!0,attributeOldValue:!1,characterDataOldValue:!1})),cvox.ChromeVoxEventSuspender.areEventsSuspended()||cvox.ChromeVox.navigationManager.updateSel(cvox.CursorSelection.fromNode(cvox.ChromeVoxEventWatcher.currentTextControl)));return null!=cvox.ChromeVoxEventWatcher.currentTextHandler}};
cvox.ChromeVoxEventWatcher.handleTextChanged=function(a){if(cvox.ChromeVoxEventWatcher.currentTextHandler){var b=cvox.ChromeVoxEventWatcher.currentTextHandler;b.update(a);return!0}return!1};cvox.ChromeVoxEventWatcher.onTextMutation=function(){cvox.ChromeVoxEventWatcher.currentTextHandler&&window.setTimeout(function(){cvox.ChromeVoxEventWatcher.handleTextChanged(!1)},cvox.ChromeVoxEventWatcher.MAX_WAIT_TIME_MS_)};
cvox.ChromeVoxEventWatcher.handleControlChanged=function(a){var b=cvox.DomUtil.getControlValueAndStateString(a),c=cvox.DomUtil.getSurroundingControl(a),d=!1;if(a!=cvox.ChromeVoxEventWatcher.lastFocusedNode&&(null==c||c!=cvox.ChromeVoxEventWatcher.lastFocusedNode))cvox.ChromeVoxEventWatcher.setLastFocusedNode_(a);else if(b==cvox.ChromeVoxEventWatcher.lastFocusedNodeValue)return;cvox.ChromeVoxEventWatcher.lastFocusedNodeValue=b;if(cvox.DomPredicates.checkboxPredicate([a])||cvox.DomPredicates.radioPredicate([a]))d=
!0,a.checked?cvox.ChromeVox.earcons.playEarcon(cvox.AbstractEarcons.CHECK_ON):cvox.ChromeVox.earcons.playEarcon(cvox.AbstractEarcons.CHECK_OFF);"SELECT"==a.tagName&&(d=!0);if("INPUT"==a.tagName)switch(a.type){case "color":case "datetime":case "datetime-local":case "range":d=!0}a.hasAttribute&&a.hasAttribute("role")&&(d=!0);c&&c!=a&&document.activeElement==a?(cvox.ApiImplementation.syncToNode(a,!0,cvox.AbstractTts.QUEUE_MODE_FLUSH),d=!1):cvox.AriaUtil.getActiveDescendant(a)&&(cvox.ChromeVox.navigationManager.updateSelToArbitraryNode(cvox.AriaUtil.getActiveDescendant(a),
!0),d=!0);d&&!cvox.ChromeVoxEventSuspender.areEventsSuspended()&&(cvox.ChromeVox.tts.speak(b,cvox.ChromeVoxEventWatcher.queueMode_(),null),cvox.NavBraille.fromText(b).write())};
cvox.ChromeVoxEventWatcher.handleControlAction=function(a){if(!cvox.ChromeVox.isActive)return!1;var b=a.target;if("SELECT"==b.tagName&&1>=b.size&&(13==a.keyCode||32==a.keyCode))return a.preventDefault(),a.stopPropagation(),!0;if("INPUT"==b.tagName&&"range"==b.type){var c=parseFloat(b.value),d;b.step&&0<b.step?d=b.step:b.min&&b.max?(d=b.max-b.min,d=2<d&&31>d?1:(b.max-b.min)/10):d=1;if(37==a.keyCode||38==a.keyCode)c-=d;else if(39==a.keyCode||40==a.keyCode)c+=d;b.max&&c>b.max&&(c=b.max);b.min&&c<b.min&&
(c=b.min);b.value=c}return!1};
cvox.ChromeVoxEventWatcher.handleDialogFocus=function(a){for(;a;){if(a.hasAttribute){var b=a.getAttribute("role");if("dialog"==b||"alertdialog"==b)break}a=a.parentElement}if(a==cvox.ChromeVox.navigationManager.currentDialog)return!1;if(cvox.ChromeVox.navigationManager.currentDialog&&!a){if(!cvox.DomUtil.isDescendantOfNode(document.activeElement,cvox.ChromeVox.navigationManager.currentDialog))return cvox.ChromeVox.navigationManager.currentDialog=null,cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("exiting_dialog"),cvox.AbstractTts.QUEUE_MODE_FLUSH,
cvox.AbstractTts.PERSONALITY_ANNOTATION),!0}else if(a)return cvox.ChromeVox.navigationManager.currentDialog=a,cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("entering_dialog"),cvox.AbstractTts.QUEUE_MODE_FLUSH,cvox.AbstractTts.PERSONALITY_ANNOTATION),a=cvox.DescriptionUtil.getFullDescriptionsFromChildren(null,a),b=new cvox.NavigationSpeaker,b.speakDescriptionArray(a,cvox.AbstractTts.QUEUE_MODE_QUEUE,null),!0;return!1};
cvox.ChromeVoxEventWatcherUtil.shouldWaitToProcess=function(a,b,c){a=c-a;b=c-b;return a<cvox.ChromeVoxEventWatcher.WAIT_TIME_MS_&&b<cvox.ChromeVoxEventWatcher.MAX_WAIT_TIME_MS_};cvox.ChromeVoxEventWatcher.queueMode_=function(){return cvox.ChromeVoxEventWatcher.processing_?cvox.AbstractTts.QUEUE_MODE_QUEUE:cvox.AbstractTts.QUEUE_MODE_FLUSH};
cvox.ChromeVoxEventWatcher.processQueue_=function(){if(0!=cvox.ChromeVoxEventWatcher.events_.length){var a=cvox.ChromeVoxEventWatcher.events_,b=-1,c=0,d,e;for(e=0;d=a[e];e++)"focus"==d.type&&(b=e,c=d.timeStamp);cvox.ChromeVoxEventWatcher.events_=[];for(e=0;d=a[e];e++){var f=a[e-1]||{};!(e>=b||"LiveRegion"==d.type||"DOMSubtreeModified"==d.type)||"focus"==f.type&&"change"==d.type||cvox.ChromeVoxEventWatcher.events_.push(d)}cvox.ChromeVoxEventWatcher.events_.sort(function(a,b){return"LiveRegion"!=b.type&&
"LiveRegion"==a.type||"DOMSubtreeModified"!=b.type&&"DOMSubtreeModified"==a.type?1:-1});a=(new Date).getTime();if(0<=b&&cvox.ChromeVoxEventWatcherUtil.shouldWaitToProcess(c,cvox.ChromeVoxEventWatcher.firstUnprocessedEventTime,a))window.setTimeout(cvox.ChromeVoxEventWatcher.processQueue_,cvox.ChromeVoxEventWatcher.WAIT_TIME_MS_);else{for(e=0;d=cvox.ChromeVoxEventWatcher.events_[e];e++)cvox.ChromeVoxEventWatcher.handleEvent_(d),cvox.ChromeVoxEventWatcher.processing_=!0;cvox.ChromeVoxEventWatcher.processing_=
!1;cvox.ChromeVoxEventWatcher.events_=[];cvox.ChromeVoxEventWatcher.firstUnprocessedEventTime=-1;cvox.ChromeVoxEventWatcher.queueProcessingScheduled_=!1;cvox.ChromeVoxEventWatcher.maybeCallReadyCallbacks_()}}};
cvox.ChromeVoxEventWatcher.handleEvent_=function(a){switch(a.type){case "keydown":cvox.ChromeVoxEventWatcher.setUpTextHandler();if(cvox.ChromeVoxEventWatcher.currentTextControl&&(cvox.ChromeVoxEventWatcher.handleTextChanged(!0),(a=cvox.ChromeVoxEventWatcher.currentTextHandler)&&a.lastChangeDescribed))break;cvox.ChromeVoxEventWatcher.handleControlChanged(document.activeElement);break;case "keypress":cvox.ChromeVoxEventWatcher.setUpTextHandler();break;case "focus":cvox.ChromeVoxEventWatcher.focusHandler(a);
break;case "blur":cvox.ChromeVoxEventWatcher.setUpTextHandler();break;case "change":cvox.ChromeVoxEventWatcher.changeHandler(a);break;case "select":cvox.ChromeVoxEventWatcher.setUpTextHandler();break;case "LiveRegion":cvox.ChromeVoxEventWatcher.speakLiveRegion_(a.assertive,a.navDescriptions);break;case "DOMSubtreeModified":cvox.ChromeVoxEventWatcher.subtreeModifiedHandler(a)}};
cvox.ChromeVoxEventWatcher.setUpTimeHandler_=function(){var a=document.activeElement;a&&a.hasAttribute&&"true"==a.getAttribute("aria-hidden")&&"true"!=a.getAttribute("chromevoxignoreariahidden")&&(a=null);cvox.ChromeVoxEventWatcher.currentTimeHandler=a.constructor==HTMLInputElement&&a.type&&"time"==a.type?new cvox.ChromeVoxHTMLTimeWidget(a,cvox.ChromeVox.tts):null;return null!=cvox.ChromeVoxEventWatcher.currentTimeHandler};
cvox.ChromeVoxEventWatcher.setUpMediaHandler_=function(){var a=document.activeElement;a&&a.hasAttribute&&"true"==a.getAttribute("aria-hidden")&&"true"!=a.getAttribute("chromevoxignoreariahidden")&&(a=null);cvox.ChromeVoxEventWatcher.currentMediaHandler=a.constructor==HTMLVideoElement||a.constructor==HTMLAudioElement?new cvox.ChromeVoxHTMLMediaWidget(a,cvox.ChromeVox.tts):null;return null!=cvox.ChromeVoxEventWatcher.currentMediaHandler};
cvox.ChromeVoxEventWatcher.setUpDateHandler_=function(){var a=document.activeElement;a&&a.hasAttribute&&"true"==a.getAttribute("aria-hidden")&&"true"!=a.getAttribute("chromevoxignoreariahidden")&&(a=null);cvox.ChromeVoxEventWatcher.currentDateHandler=a.constructor!=HTMLInputElement||!a.type||"date"!=a.type&&"month"!=a.type&&"week"!=a.type?null:new cvox.ChromeVoxHTMLDateWidget(a,cvox.ChromeVox.tts);return null!=cvox.ChromeVoxEventWatcher.currentDateHandler};cvox.InitialSpeech={};window.INJECTED_AFTER_LOAD||(window.INJECTED_AFTER_LOAD=!1);
cvox.InitialSpeech.speak=function(){var a=window.INJECTED_AFTER_LOAD;if(!cvox.ChromeVox.isActive||document.webkitHidden)a=!0;window.top==window&&document.title&&!a&&cvox.ChromeVox.tts.speak(document.title,cvox.AbstractTts.QUEUE_MODE_FLUSH);cvox.LiveRegions.init(new Date,cvox.AbstractTts.QUEUE_MODE_QUEUE,a);document.hasFocus()&&document.activeElement==document.body&&cvox.ChromeVox.navigationManager.syncToBeginning();if(cvox.ChromeVox.position[document.location.href]){var b=cvox.ChromeVox.position[document.location.href];
cvox.ChromeVox.navigationManager.updateSelToArbitraryNode(document.elementFromPoint(b.x,b.y))}document.hasFocus()&&(a||cvox.ChromeVoxEventSuspender.withSuspendedEvents(function(){cvox.ChromeVox.navigationManager.finishNavCommand("",!0,cvox.AbstractTts.QUEUE_MODE_QUEUE)})())};cvox.PdfProcessor={};
cvox.PdfProcessor.processEmbeddedPdfs=function(){if("#original"!=window.location.hash)for(var a=document.querySelectorAll('embed[type="application/pdf"]'),b=0;b<a.length;b++){var c=a[b];if("function"===typeof c.accessibility){var d=c.accessibility(),e=cvox.ChromeVoxJSON.parse(d);if(e.loaded)if(e.copyable){var f=document.createElement("DIV"),d=document.createElement("DIV");d.style.position="relative";d.style.background="white";d.style.margin="20pt";d.style.padding="20pt";d.style.border="1px solid #000";
var g=c.src.substr(c.src.lastIndexOf("/")+1);document.title=g;g=cvox.ChromeVox.msgs.getMsg("pdf_header",[g,c.src+"#original"]);d.innerHTML=g;g=d.getElementsByTagName("a")[0];g.addEventListener("click",function(){window.location.href=c.src+"#original";window.location.reload()},!0);f.appendChild(d);f.style.position="relative";f.style.background="#CCC";f.style.paddingTop="1pt";f.style.paddingBottom="1pt";f.style.width="100%";f.style.minHeight="100%";var h=function(a){var b=c.accessibility(a),d=cvox.ChromeVoxJSON.parse(b),
b=document.createElement("DIV"),g=document.createElement("A");g.name="page"+a;b.style.position="relative";b.style.background="white";b.style.margin="auto";b.style.marginTop="20pt";b.style.marginBottom="20pt";b.style.height=d.height+"pt";b.style.width=d.width+"pt";b.style.boxShadow="0pt 0pt 10pt #333";for(var d=d.textBox,q=0;q<d.length;q++){var n=d[q],s=document.createElement("Span");s.style.position="absolute";s.style.left=n.left+"pt";s.style.top=n.top+"pt";s.style.fontSize=0.8*n.height+"pt";for(var u=
0;u<n.textNodes.length;u++){var t=n.textNodes[u];if("text"==t.type)s.appendChild(document.createTextNode(t.text));else if("url"==t.type){var r=document.createElement("A");r.href=t.url;r.appendChild(document.createTextNode(t.text));s.appendChild(r)}}b.appendChild(s)}f.appendChild(g);f.appendChild(b);a<e.numberOfPages-1?window.setTimeout(function(){h(a+1)},0):(c.style.display="none",c.parentNode.appendChild(f),cvox.ChromeVox.navigationManager.reset())};window.setTimeout(function(){h(0)},0)}else cvox.ChromeVox.tts.speak("Unable to access copy-protected PDF. Skipping.");
else window.setTimeout(cvox.PdfProcessor.processEmbeddedPdfs,100)}}};cvox.SearchConstants=function(){};cvox.SearchConstants.KeyCode={UP:38,DOWN:40,PAGE_UP:33,PAGE_DOWN:34,LEFT:37,RIGHT:39,ENTER:13,ESC:27};cvox.SearchUtil=function(){};cvox.SearchUtil.extractURL=function(a){return a&&("A"===a.tagName||(a=a.querySelector("a")))?a.href:null};cvox.SearchUtil.isSearchWidgetActive=function(){return null!==document.querySelector("#cvox-search")};cvox.SearchUtil.addOneWrap=function(a,b){return(a+1)%b};cvox.SearchUtil.subOneWrap=function(a,b){return(a-1+b)%b};
cvox.SearchUtil.clickElem=function(a,b,c,d){var e;o:{e=a;for(var f={},g=e;g;){var h;h=g.getAttribute?(h=g.getAttribute("aria-activedescendant"))?h:null:null;if(!h)break;if(h in f){e=null;break o}f[h]=!0;g=document.getElementById(h)}e=g==e?null:g}e&&(a=e);if(c){c=null;a.onclick&&(c=a.onclick);!c&&1!=a.nodeType&&a.parentNode&&a.parentNode.onclick&&(c=a.parentNode.onclick);e=!0;if(c)try{e=c()}catch(k){}if(!e)return}c=document.createEvent("MouseEvents");d=d?"dblclick":"mousedown";c.initMouseEvent(d,!0,
!0,document.defaultView,1,0,0,0,0,!1,!1,b,!1,0,null);c.fromCvox=!0;try{a.dispatchEvent(c)}catch(l){}c=document.createEvent("MouseEvents");c.initMouseEvent("mouseup",!0,!0,document.defaultView,1,0,0,0,0,!1,!1,b,!1,0,null);c.fromCvox=!0;try{a.dispatchEvent(c)}catch(m){}c=document.createEvent("MouseEvents");c.initMouseEvent("click",!0,!0,document.defaultView,1,0,0,0,0,!1,!1,b,!1,0,null);c.fromCvox=!0;try{a.dispatchEvent(c)}catch(p){}};cvox.AbstractResult=function(){};cvox.AbstractResult.prototype.isType=function(){return!1};cvox.AbstractResult.prototype.speak=function(){return!1};cvox.AbstractResult.prototype.getURL=cvox.SearchUtil.extractURL;cvox.AbstractResult.prototype.getSyncNode=function(a){return a};cvox.SearchResults=function(){};cvox.SearchResults.speakResultBySelectTexts=function(a,b){for(var c=0;c<b.length;c++){var d=b[c];if(d.select)for(var e=a.querySelectorAll(d.select),f=0;f<e.length;f++)cvox.ChromeVox.speakNode(e.item(f),1);d.text&&cvox.ChromeVox.tts.speak(d.text,1)}};cvox.UnknownResult=function(){};goog.inherits(cvox.UnknownResult,cvox.AbstractResult);cvox.NormalResult=function(){};goog.inherits(cvox.NormalResult,cvox.AbstractResult);
cvox.NormalResult.prototype.isType=function(a){return null!==a.querySelector(".rc")};cvox.NormalResult.prototype.speak=function(a){if(!a)return!1;var b=[{select:".rc .r"},{select:".rc .st"},{select:".kv"},{select:".osl"},{select:".sld"},{select:".mrf"}];cvox.SearchResults.speakResultBySelectTexts(a,b);b=a.querySelectorAll(".mas-1st-col div");a=a.querySelectorAll(".mas-col div");for(var c=0;c<b.length;c++)cvox.ChromeVox.speakNode(b.item(c),1),cvox.ChromeVox.speakNode(a.item(c),1);return!0};
cvox.WeatherResult=function(){};goog.inherits(cvox.WeatherResult,cvox.AbstractResult);cvox.WeatherResult.prototype.isType=function(a){return null!==a.querySelector("#wob_wc")};cvox.WeatherResult.speakForecast=function(a){if(a){var b=[{select:".vk_lgy"},{select:"img"},{select:".vk_gy"},{select:".vk_lgy"}];cvox.SearchResults.speakResultBySelectTexts(a,b)}};
cvox.WeatherResult.prototype.speak=function(a){if(!a)return!1;var b=[{text:"The weather forcast for"},{select:".vk_h"},{select:"#wob_dts"},{select:"#wob_dc"},{select:"#wob_tm"},{text:"degrees fahrenheit"},{text:"precipitation is"},{select:"#wob_pp"},{text:"humidity is"},{select:"#wob_hm"},{text:"wind is"},{select:"#wob_ws"}];cvox.SearchResults.speakResultBySelectTexts(a,b);a=a.getElementsByClassName("wob_df");cvox.ChromeVox.tts.speak("Forecasts for this week",1);for(b=0;b<a.length;b++){var c=a.item(b);
cvox.WeatherResult.speakForecast(c)}return!0};cvox.KnowResult=function(){};goog.inherits(cvox.KnowResult,cvox.AbstractResult);cvox.KnowResult.prototype.isType=function(a){return null!==a.querySelector(".kno-ec")};cvox.KnowResult.prototype.speak=function(a){cvox.ChromeVox.speakNode(a,1);return!0};cvox.KnowResult.prototype.getURL=function(a){return cvox.SearchUtil.extractURL(a.querySelector(".q"))};cvox.KnowResult.prototype.getSyncNode=function(a){return a.querySelector(".kno-ecr-pt")};
cvox.CalcResult=function(){};goog.inherits(cvox.CalcResult,cvox.AbstractResult);cvox.CalcResult.prototype.isType=function(a){return null!==a.querySelector("#cwmcwd")};cvox.CalcResult.prototype.speak=function(a){if(!a)return!1;var b=[{select:"#cwles"},{select:"#cwos"}];cvox.SearchResults.speakResultBySelectTexts(a,b);return!0};cvox.GameResult=function(){};goog.inherits(cvox.GameResult,cvox.AbstractResult);cvox.GameResult.prototype.isType=function(a){return null!==a.querySelector(".xpdbox")};
cvox.ImageResult=function(){};goog.inherits(cvox.ImageResult,cvox.AbstractResult);cvox.ImageResult.prototype.isType=function(a){return"rg_di"===a.className};cvox.ImageResult.prototype.speak=function(a){if(!a)return!1;var b=a.querySelector(".rg_meta"),b=b.innerHTML,c=JSON.parse(b),b=[],d=c.fn;d&&b.push({text:d});if(d=c.is){var e=document.createElement("div");e.innerHTML=d;d=e.textContent||e.innerText;b.push({text:d})}(c=c.isu)&&b.push({text:c});cvox.SearchResults.speakResultBySelectTexts(a,b);return!0};
cvox.CategoryResult=function(){};goog.inherits(cvox.CategoryResult,cvox.AbstractResult);cvox.CategoryResult.prototype.isType=function(a){return"rg_fbl nj"===a.className};cvox.CategoryResult.prototype.speak=function(a){if(!a)return!1;a=a.querySelector(".rg_bb_label");cvox.ChromeVox.speakNode(a,1);return!0};cvox.AdResult=function(){};goog.inherits(cvox.AdResult,cvox.AbstractResult);cvox.AdResult.prototype.isType=function(a){return"ads-ad"===a.className};
cvox.AdResult.prototype.speak=function(a){if(!a)return!1;var b=[{select:"h3"},{select:".ads-creative"},{select:".ads-visurl"}];cvox.SearchResults.speakResultBySelectTexts(a,b);return!0};cvox.SearchResults.RESULT_TYPES=[cvox.UnknownResult,cvox.NormalResult,cvox.KnowResult,cvox.WeatherResult,cvox.AdResult,cvox.CalcResult,cvox.GameResult,cvox.ImageResult,cvox.CategoryResult];cvox.Search=function(){};cvox.Search.selectors={};cvox.Search.webSelectors={TOPSTUFF_SELECT:"#topstuff",SPELL_SUGG_SELECT:".ssp",SPELL_CORRECTION_SELECT:".sp_cnt",KNOW_PANEL_SELECT:".knop",RESULT_SELECT:"li.g",RELATED_SELECT:"#brs"};cvox.Search.imageSelectors={IMAGE_CATEGORIES_SELECT:"#ifbc .rg_fbl",IMAGE_RESULT_SELECT:"#rg_s .rg_di"};cvox.Search.results=[];cvox.Search.panes=[];cvox.Search.isPane=!1;cvox.Search.SELECTED_PANE_CLASS="hdtb_mitem hdtb_msel";
cvox.Search.speakSync_=function(){var a=cvox.Search.results[cvox.Search.index],b=cvox.Search.getResultType(a),c=b.speak(a);cvox.ChromeVox.syncToNode(b.getSyncNode(a),!c);cvox.Search.isPane=!1};cvox.Search.syncToIndex=function(){cvox.ChromeVox.tts.stop();var a={endCallback:cvox.Search.speakSync_};0===cvox.Search.index?cvox.ChromeVox.tts.speak("First result",1,a):cvox.Search.index===cvox.Search.results.length-1?cvox.ChromeVox.tts.speak("Last result",1,a):cvox.Search.speakSync_()};
cvox.Search.syncPaneToIndex=function(){var a=cvox.Search.panes[cvox.Search.paneIndex],b=a.querySelector("a");b?cvox.ChromeVox.syncToNode(b,!0):cvox.ChromeVox.syncToNode(a,!0);cvox.Search.isPane=!0};cvox.Search.getResultType=function(a){for(var b=0;b<cvox.SearchResults.RESULT_TYPES.length;b++){var c=new cvox.SearchResults.RESULT_TYPES[b];if(c.isType(a))return c}return new cvox.UnknownResult};
cvox.Search.getPageNumber=function(a){for(var b=document.querySelectorAll("#nav .fl"),c=0;c<b.length;c++){var d=b.item(c);if(d.href===a)return parseInt(d.innerText,10)}return NaN};cvox.Search.navigatePage=function(a){var b=document.getElementsByClassName("navend");a=a?b[1]:b[0];var c=cvox.SearchUtil.extractURL(a);a=function(){window.location=c};a={endCallback:a};c&&(b=cvox.Search.getPageNumber(c),isNaN(b)?cvox.ChromeVox.tts.speak("Unknown page.",0,a):cvox.ChromeVox.tts.speak("Page "+b,0,a))};
cvox.Search.goToPane=function(){var a=cvox.Search.panes[cvox.Search.paneIndex];if(a.className===cvox.Search.SELECTED_PANE_CLASS)cvox.ChromeVox.tts.speak("You are already on that page.");else{var b=a.querySelector("a");cvox.ChromeVox.tts.speak(b.textContent);if(a=cvox.SearchUtil.extractURL(a))window.location=a}};cvox.Search.goToResult=function(){var a=cvox.Search.results[cvox.Search.index],b=cvox.Search.getResultType(a);if(a=b.getURL(a))window.location=a};
cvox.Search.keyhandler=function(a){var b=document.getElementById("gbqfq");if(a.shiftKey||a.altKey||a.ctrlKey)return!1;if(document.activeElement!==b&&!cvox.SearchUtil.isSearchWidgetActive()){switch(a.keyCode){case cvox.SearchConstants.KeyCode.UP:cvox.Search.index=cvox.SearchUtil.subOneWrap(cvox.Search.index,cvox.Search.results.length);cvox.Search.index===cvox.Search.results.length-1&&cvox.ChromeVox.earcons.playEarconByName("WRAP");cvox.Search.syncToIndex();break;case cvox.SearchConstants.KeyCode.DOWN:cvox.Search.index=
cvox.SearchUtil.addOneWrap(cvox.Search.index,cvox.Search.results.length);0===cvox.Search.index&&cvox.ChromeVox.earcons.playEarconByName("WRAP");cvox.Search.syncToIndex();break;case cvox.SearchConstants.KeyCode.PAGE_UP:cvox.Search.navigatePage(!1);break;case cvox.SearchConstants.KeyCode.PAGE_DOWN:cvox.Search.navigatePage(!0);break;case cvox.SearchConstants.KeyCode.LEFT:cvox.Search.paneIndex=cvox.SearchUtil.subOneWrap(cvox.Search.paneIndex,cvox.Search.panes.length);cvox.Search.syncPaneToIndex();break;
case cvox.SearchConstants.KeyCode.RIGHT:cvox.Search.paneIndex=cvox.SearchUtil.addOneWrap(cvox.Search.paneIndex,cvox.Search.panes.length);cvox.Search.syncPaneToIndex();break;case cvox.SearchConstants.KeyCode.ENTER:cvox.Search.isPane?cvox.Search.goToPane():cvox.Search.goToResult();break;default:return!1}a.preventDefault();a.stopPropagation();return!0}return!1};
cvox.Search.addToResultsBySelector=function(a){a=document.querySelectorAll(a);for(var b=0;b<a.length;b++){var c=a.item(b);""!==c.innerHTML&&cvox.Search.results.push(a.item(b))}};cvox.Search.populatePanes=function(){cvox.Search.panes=[];for(var a=document.querySelectorAll(".hdtb_mitem"),b=0;b<a.length;b++)cvox.Search.panes.push(a.item(b))};cvox.Search.populateResults=function(){for(var a in cvox.Search.selectors)cvox.Search.addToResultsBySelector(cvox.Search.selectors[a])};
cvox.Search.populateAdResults=function(){cvox.Search.results=[];cvox.Search.addToResultsBySelector(".ads-ad")};cvox.Search.observeMutation=function(){var a=document.querySelector("#rg_s"),b=new MutationObserver(function(){cvox.Search.results=[];cvox.Search.populateResults()}),c={attributes:!0,childList:!0,characterData:!0};b.observe(a,c)};cvox.Search.getSelectedPaneIndex=function(){for(var a=cvox.Search.panes,b=0;b<a.length;b++)if(a[b].className===cvox.Search.SELECTED_PANE_CLASS)return b;return 0};
cvox.Search.getAncestorResult=function(a){for(;a;){for(var b in cvox.Search.selectors){var c=cvox.Search.selectors[b];if(a.webkitMatchesSelector&&a.webkitMatchesSelector(c))return a}a=a.parentNode}return null};cvox.Search.initialSync=function(){var a=cvox.ChromeVox.navigationManager.getCurrentNode(),a=cvox.Search.getAncestorResult(a);cvox.Search.index=cvox.Search.results.indexOf(a);-1===cvox.Search.index&&(cvox.Search.index=0);0<cvox.Search.results.length&&cvox.Search.syncToIndex()};
cvox.Search.init=function(){cvox.Search.index=0;cvox.ChromeVox.tts.stop();var a=document.getElementsByClassName("hdtb_msel")[0];if(a){a=a.innerHTML;switch(a){case "Web":case "News":cvox.Search.selectors=cvox.Search.webSelectors;break;case "Images":cvox.Search.selectors=cvox.Search.imageSelectors;cvox.Search.observeMutation();break;default:return}cvox.Search.populateResults();cvox.Search.populatePanes();cvox.Search.paneIndex=cvox.Search.getSelectedPaneIndex();cvox.Search.initialSync()}};cvox.SearchTool=function(){};cvox.SearchTool.menus=[];cvox.SearchTool.menuItems=[];cvox.SearchTool.CLEAR_ID="hdtb_rst";cvox.SearchTool.toggleMenu=function(){var a=cvox.SearchTool.menus[cvox.SearchTool.menuIndex],a=a.previousSibling;cvox.DomUtil.clickElem(a,!1,!1,!1)};cvox.SearchTool.syncToMenu=function(){cvox.SearchTool.menuItemIndex=0;cvox.SearchTool.toggleMenu();cvox.SearchTool.populateMenuItems();cvox.SearchTool.syncToMenuItem()};
cvox.SearchTool.syncToMenuItem=function(){var a=cvox.SearchTool.menuItems[cvox.SearchTool.menuItemIndex];cvox.ChromeVox.syncToNode(a,!0)};cvox.SearchTool.populateMenuItems=function(){var a=cvox.SearchTool.menus[cvox.SearchTool.menuIndex];cvox.SearchTool.menuItems=[];if(a.id!==cvox.SearchTool.CLEAR_ID)for(var a=a.querySelectorAll(".hdtbItm"),b=0;b<a.length;b++)cvox.SearchTool.menuItems.push(a.item(b));else cvox.SearchTool.menuItems=[],cvox.SearchTool.menuItems.push(a)};
cvox.SearchTool.populateMenus=function(){for(var a=document.querySelectorAll(".hdtbU"),b=0;b<a.length;b++)cvox.SearchTool.menus.push(a.item(b));(a=document.getElementById(cvox.SearchTool.CLEAR_ID))&&cvox.SearchTool.menus.push(a)};cvox.SearchTool.activateTools=function(){var a=document.querySelector("#hdtbMenus");a.className="hdtb-td-o";cvox.SearchTool.populateMenus();cvox.SearchTool.menuIndex=0;cvox.SearchTool.syncToMenu()};
cvox.SearchTool.gotoMenuItem=function(){var a=cvox.SearchTool.menuItems[cvox.SearchTool.menuItemIndex],b=a.querySelector("#lc-input");if(b)b.focus();else switch(a.id){case cvox.SearchTool.CLEAR_ID:window.location=a.dataset.url;break;case "cdr_opt":a=a.querySelector("#cdrlnk");cvox.DomUtil.clickElem(a,!1,!1,!1);cvox.SearchTool.toggleMenu();break;default:window.location=cvox.SearchUtil.extractURL(a)}};
cvox.SearchTool.keyhandler=function(a){if(cvox.SearchUtil.isSearchWidgetActive())return!1;switch(a.keyCode){case cvox.SearchConstants.KeyCode.UP:cvox.SearchTool.menuItemIndex=cvox.SearchUtil.subOneWrap(cvox.SearchTool.menuItemIndex,cvox.SearchTool.menuItems.length);cvox.SearchTool.syncToMenuItem();break;case cvox.SearchConstants.KeyCode.DOWN:cvox.SearchTool.menuItemIndex=cvox.SearchUtil.addOneWrap(cvox.SearchTool.menuItemIndex,cvox.SearchTool.menuItems.length);cvox.SearchTool.syncToMenuItem();break;
case cvox.SearchConstants.KeyCode.LEFT:cvox.SearchTool.toggleMenu();cvox.SearchTool.menuIndex=cvox.SearchUtil.subOneWrap(cvox.SearchTool.menuIndex,cvox.SearchTool.menus.length);cvox.SearchTool.syncToMenu();break;case cvox.SearchConstants.KeyCode.RIGHT:cvox.SearchTool.toggleMenu();cvox.SearchTool.menuIndex=cvox.SearchUtil.addOneWrap(cvox.SearchTool.menuIndex,cvox.SearchTool.menus.length);cvox.SearchTool.syncToMenu();break;case cvox.SearchConstants.KeyCode.ENTER:cvox.SearchTool.gotoMenuItem();break;
default:return!1}a.preventDefault();a.stopPropagation();return!0};cvox.SearchContextMenu=function(){};var Command={TOOLS:"tools",ADS:"ads",MAIN:"main"};cvox.SearchContextMenu.currState=Command.MAIN;cvox.SearchContextMenu.contextMenuHandler=function(a){a=a.detail.customCommand;switch(a){case Command.TOOLS:cvox.SearchContextMenu.focusTools();break;case Command.ADS:cvox.SearchContextMenu.focusAds();break;case Command.MAIN:cvox.SearchContextMenu.focusMain()}};
cvox.SearchContextMenu.keyhandler=function(a){var b=!1,c=new cvox.KeySequence(a),c=cvox.ChromeVoxKbHandler.handlerKeyMap.commandForKey(c);if(!c||"performDefaultAction"===c)switch(cvox.SearchContextMenu.currState){case Command.TOOLS:b=cvox.SearchTool.keyhandler(a);break;case Command.ADS:case Command.MAIN:b=cvox.Search.keyhandler(a)}return b};
cvox.SearchContextMenu.focusMain=function(){cvox.SearchContextMenu.currState===Command.TOOLS&&cvox.SearchTool.toggleMenu();cvox.Search.populateResults();cvox.Search.index=0;cvox.Search.syncToIndex();cvox.SearchContextMenu.currState=Command.MAIN};
cvox.SearchContextMenu.focusAds=function(){cvox.Search.populateAdResults();0===cvox.Search.results.length?cvox.SearchContextMenu.focusMain():(cvox.Search.index=0,cvox.Search.syncToIndex(),cvox.SearchContextMenu.currState===Command.TOOLS&&cvox.SearchTool.toggleMenu(),cvox.SearchContextMenu.currState=Command.ADS)};cvox.SearchContextMenu.focusTools=function(){cvox.SearchContextMenu.currState!==Command.TOOLS&&(cvox.SearchTool.activateTools(),cvox.SearchContextMenu.currState=Command.TOOLS)};
cvox.SearchContextMenu.init=function(){var a=[{desc:"Main Results",cmd:Command.MAIN},{desc:"Search Tools",cmd:Command.TOOLS},{desc:"Ads",cmd:Command.ADS}],b=document.querySelector("body");b.setAttribute("contextMenuActions",JSON.stringify(a));b.addEventListener("ATCustomEvent",cvox.SearchContextMenu.contextMenuHandler,!0);window.addEventListener("keydown",cvox.SearchContextMenu.keyhandler,!0);cvox.Search.init()};cvox.SearchLoader=function(){};cvox.SearchLoader.onReadyStateChange=function(){"complete"===document.readyState&&"www.google.com"===window.location.host&&"/search"===window.location.pathname&&cvox.SearchContextMenu.init()};cvox.SearchLoader.init=function(){if("complete"!==document.readyState)document.onreadystatechange=cvox.SearchLoader.onReadyStateChange;else cvox.SearchLoader.onReadyStateChange()};cvox.ChromeHost=function(){this.gotPrefsAtLeastOnce_=!1};goog.inherits(cvox.ChromeHost,cvox.AbstractHost);
cvox.ChromeHost.prototype.init=function(){var a=this,b=function(b){b.history&&(cvox.ChromeVox.visitedUrls=b.history);b.keyBindings&&cvox.ChromeVoxKbHandler.loadKeyToFunctionsTable(b.keyBindings);if(b.prefs){b=b.prefs;cvox.ChromeVoxEditableTextBase.useIBeamCursor="true"==b.useIBeamCursor;cvox.ChromeVoxEditableTextBase.eventTypingEcho=!0;cvox.ChromeVoxEventWatcher.focusFollowsMouse="true"==b.focusFollowsMouse;cvox.ChromeVox.version=b.version;cvox.ChromeVox.earcons.enabled=JSON.parse(b.earcons);cvox.ChromeVox.typingEcho=
JSON.parse(b.typingEcho);b.position&&(cvox.ChromeVox.position=JSON.parse(b.position));"undefined"!=b.granularity&&cvox.ChromeVox.navigationManager.setGranularity(JSON.parse(b.granularity));a.activateOrDeactivateChromeVox("true"==b.active);a.activateOrDeactivateStickyMode("true"==b.sticky);a.gotPrefsAtLeastOnce_||cvox.InitialSpeech.speak();a.gotPrefsAtLeastOnce_=!0;cvox.ChromeVox.verbosity="false"==b.useVerboseMode?cvox.VERBOSITY_BRIEF:cvox.VERBOSITY_VERBOSE;b.cvoxKey&&(cvox.ChromeVox.modKeyStr=b.cvoxKey);
var d=b.siteSpecificScriptLoader!=cvox.ApiImplementation.siteSpecificScriptLoader||b.siteSpecificScriptBase!=cvox.ApiImplementation.siteSpecificScriptBase;cvox.ApiImplementation.siteSpecificScriptLoader=b.siteSpecificScriptLoader;cvox.ApiImplementation.siteSpecificScriptBase=b.siteSpecificScriptBase;d&&(b="true"===b.siteSpecificEnhancements?cvox.SearchLoader.init:null,cvox.ApiImplementation.init(b))}};cvox.ExtensionBridge.addMessageListener(b);cvox.ExtensionBridge.addMessageListener(function(a){"DOMAINS_STYLES"==
a.message&&cvox.TraverseMath.getInstance().addDomainsAndStyles(a.domains,a.styles)});cvox.ExtensionBridge.addMessageListener(function(a){var b=a.message;"USER_COMMAND"==b&&(b=a.command,cvox.ChromeVoxUserCommands.commands[b](a))});cvox.ExtensionBridge.send({target:"Prefs",action:"getPrefs"});cvox.ExtensionBridge.send({target:"Data",action:"getHistory"})};cvox.ChromeHost.prototype.sendToBackgroundPage=function(a){cvox.ExtensionBridge.send(a)};cvox.ChromeHost.prototype.getApiSrc=function(){return this.getFileSrc("chromevox/injected/api.js")};
cvox.ChromeHost.prototype.getFileSrc=function(a){return window.chrome.extension.getURL(a)};cvox.ChromeHost.prototype.activateOrDeactivateStickyMode=function(a){cvox.ChromeVox.isStickyOn=a};cvox.HostFactory.hostConstructor=cvox.ChromeHost;cvox.ChromeMsgs=function(){};goog.inherits(cvox.ChromeMsgs,cvox.AbstractMsgs);cvox.ChromeMsgs.NAMESPACE_="chromevox_";cvox.ChromeMsgs.prototype.getMsg=function(a,b){var c=chrome.i18n.getMessage(cvox.ChromeMsgs.NAMESPACE_+a,b);if(void 0==c||""==c)throw Error("Invalid ChromeVox message id: "+a);return c};
cvox.ChromeMsgs.prototype.addTranslatedMessagesToDom=function(a){a=a.querySelectorAll(".i18n");for(var b=0;b<a.length;b++){var c=a[b].getAttribute("msgid");if(!c)throw Error("Element has no msgid attribute: "+a[b]);a[b].textContent=this.getMsg(c);a[b].classList.add("i18n-processed")}};cvox.ChromeMsgs.prototype.getNumber=function(a){return""+a};cvox.HostFactory.msgsConstructor=cvox.ChromeMsgs;cvox.ChromeTtsBase=function(){cvox.AbstractTts.call(this);this.propertyDefault.pitch=1;this.propertyMin.pitch=0.2;this.propertyMax.pitch=2;this.propertyDefault.rate=1;this.propertyMin.rate=0.2;this.propertyMax.rate=5;this.propertyDefault.volume=1;this.propertyMin.volume=0.2;this.propertyMax.volume=1};goog.inherits(cvox.ChromeTtsBase,cvox.AbstractTts);cvox.ChromeTts=function(){cvox.ChromeTtsBase.call(this);this.addBridgeListener()};goog.inherits(cvox.ChromeTts,cvox.ChromeTtsBase);cvox.ChromeTts.callId=1;cvox.ChromeTts.functionMap={};cvox.ChromeTts.prototype.speak=function(a,b,c){c||(c={});cvox.ChromeTts.superClass_.speak.call(this,a,b,c);cvox.ExtensionBridge.send(this.createMessageForProperties_(a,b,c))};cvox.ChromeTts.prototype.isSpeaking=function(){cvox.ChromeTts.superClass_.isSpeaking.call(this);return!1};
cvox.ChromeTts.prototype.stop=function(){cvox.ChromeTts.superClass_.stop.call(this);cvox.ExtensionBridge.send({target:"TTS",action:"stop"})};cvox.ChromeTts.prototype.increaseOrDecreaseProperty=function(a,b){cvox.ExtensionBridge.send({target:"TTS",action:"increaseOrDecrease",property:a,increase:b})};cvox.ChromeTts.prototype.addBridgeListener=function(){cvox.ExtensionBridge.addMessageListener(function(a){var b=a.message;"TTS_CALLBACK"==b&&(a=a.id,b=cvox.ChromeTts.functionMap[a],void 0!=b&&(b(),delete cvox.ChromeTts.functionMap[a]))})};
cvox.ChromeTts.prototype.createMessageForProperties_=function(a,b,c){a={target:"TTS",action:"speak",text:a,queueMode:b,properties:c};void 0!=c.startCallback&&(cvox.ChromeTts.functionMap[cvox.ChromeTts.callId]=c.startCallback,a.startCallbackId=cvox.ChromeTts.callId++);void 0!=c.endCallback&&(cvox.ChromeTts.functionMap[cvox.ChromeTts.callId]=c.endCallback,a.endCallbackId=cvox.ChromeTts.callId++);return a};cvox.HostFactory.ttsConstructor=cvox.ChromeTts;cvox.ChromeVoxPrefs=function(){var a=localStorage.lastRunVersion;a||(a="1.16.0");var b=!0;"1.16.0"==a&&(b=!1);localStorage.lastRunVersion=chrome.app.getDetails().version;this.keyMap_=cvox.KeyMap.fromLocalStorage()||cvox.KeyMap.fromDefaults();this.keyMap_.merge(cvox.KeyMap.fromDefaults());localStorage.position="{}";localStorage.sticky=!1;this.init(b)};
cvox.ChromeVoxPrefs.DEFAULT_PREFS={active:!0,currentKeyMap:cvox.KeyMap.DEFAULT_KEYMAP,cvoxKey:"",earcons:!0,focusFollowsMouse:!1,granularity:void 0,position:"{}",siteSpecificScriptBase:"https://ssl.gstatic.com/accessibility/javascript/ext/",siteSpecificScriptLoader:"https://ssl.gstatic.com/accessibility/javascript/ext/loader.js",sticky:!1,typingEcho:0,useIBeamCursor:cvox.ChromeVox.isMac,useVerboseMode:!0,siteSpecificEnhancements:!0};
cvox.ChromeVoxPrefs.prototype.init=function(){for(var a in cvox.ChromeVoxPrefs.DEFAULT_PREFS)void 0===localStorage[a]&&(localStorage[a]=cvox.ChromeVoxPrefs.DEFAULT_PREFS[a])};cvox.ChromeVoxPrefs.prototype.switchToKeyMap=function(a){localStorage.currentKeyMap=a;this.keyMap_=cvox.KeyMap.fromCurrentKeyMap();this.keyMap_.toLocalStorage();this.keyMap_.resetModifier();this.sendPrefsToAllTabs(!1,!0)};
cvox.ChromeVoxPrefs.prototype.getPrefs=function(){var a={},b;for(b in cvox.ChromeVoxPrefs.DEFAULT_PREFS)a[b]=localStorage[b];a.version=chrome.app.getDetails().version;return a};cvox.ChromeVoxPrefs.prototype.getKeyMap=function(){return this.keyMap_};
cvox.ChromeVoxPrefs.prototype.sendPrefsToAllTabs=function(a,b){var c=this,d={};a&&(d.prefs=c.getPrefs());b&&(d.keyBindings=this.keyMap_.toJSON());chrome.windows.getAll({populate:!0},function(a){for(var b=0;b<a.length;b++)for(var c=a[b].tabs,h=0;h<c.length;h++)chrome.tabs.sendMessage(c[h].id,d)})};cvox.ChromeVoxPrefs.prototype.setPref=function(a,b){localStorage[a]!=b&&(localStorage[a]=b,this.sendPrefsToAllTabs(!0,!1))};
cvox.ChromeVoxPrefs.prototype.setKey=function(a,b){return this.keyMap_.rebind(a,b)?(this.keyMap_.toLocalStorage(),this.sendPrefsToAllTabs(!1,!0),!0):!1};cvox.OptionsPage=function(){};cvox.OptionsPage.KEYCODE_TO_TEXT={};cvox.OptionsPage.TEXT_TO_KEYCODE={};
cvox.OptionsPage.init=function(){cvox.ChromeVox.msgs=cvox.HostFactory.getMsgs();cvox.OptionsPage.prefs=chrome.extension.getBackgroundPage().prefs;cvox.OptionsPage.populateKeyMapSelect();cvox.OptionsPage.addKeys();cvox.OptionsPage.populateVoicesSelect();cvox.BrailleTable.getAll(function(a){cvox.OptionsPage.brailleTables=a;cvox.OptionsPage.populateBrailleTablesSelect()});cvox.ChromeVox.msgs.addTranslatedMessagesToDom(document);cvox.OptionsPage.hidePlatformSpecifics();cvox.OptionsPage.update();document.addEventListener("change",
cvox.OptionsPage.eventListener,!1);document.addEventListener("click",cvox.OptionsPage.eventListener,!1);document.addEventListener("keydown",cvox.OptionsPage.eventListener,!1);cvox.ExtensionBridge.addMessageListener(function(a){(a.keyBindings||a.prefs)&&cvox.OptionsPage.update()});document.getElementById("selectKeys").addEventListener("click",cvox.OptionsPage.reset,!1);cvox.PlatformUtil.matchesPlatform(cvox.PlatformFilter.WML)&&(document.getElementById("version").textContent=chrome.app.getDetails().version)};
cvox.OptionsPage.update=function(){var a=cvox.OptionsPage.prefs.getPrefs(),b;for(b in a)for(var c=document.querySelectorAll('*[name="'+b+'"]'),d=0;d<c.length;d++)cvox.OptionsPage.setValue(c[d],a[b])};
cvox.OptionsPage.populateKeyMapSelect=function(){var a=document.getElementById("cvox_keymaps"),b;for(b in cvox.KeyMap.AVAILABLE_MAP_INFO){var c=document.createElement("option");c.id=b;c.className="i18n";c.setAttribute("msgid",b);cvox.OptionsPage.prefs.getPrefs().currentKeyMap==b&&c.setAttribute("selected","");a.appendChild(c)}a.addEventListener("change",cvox.OptionsPage.reset,!0)};
cvox.OptionsPage.addKeys=function(){var a=document.getElementById("keysContainer"),b=cvox.OptionsPage.prefs.getKeyMap();this.prevTime=(new Date).getTime();this.keyCount=0;a.addEventListener("keypress",goog.bind(function(a){if("cvoxKey"!=a.target.id){this.keyCount++;var b=(new Date).getTime();1E3<b-this.prevTime||2<this.keyCount?("toggleKeyPrefix"==document.activeElement.id?(this.keySequence=new cvox.KeySequence(a,!1),this.keySequence.keys.ctrlKey[0]=!0):this.keySequence=new cvox.KeySequence(a,!0),
this.keyCount=1):this.keySequence.addKeyEvent(a);var c=cvox.KeyUtil.keySequenceToString(this.keySequence,!0),d=c.replace(/\+/g," "+cvox.ChromeVox.msgs.getMsg("then")+" "),d=d.replace(/>/g," "+cvox.ChromeVox.msgs.getMsg("followed_by")+" "),d=d.replace("Cvox"," "+cvox.ChromeVox.msgs.getMsg("modifier_key")+" ");cvox.OptionsPage.prefs.setKey(document.activeElement.id,this.keySequence)?document.activeElement.value=c:d=cvox.ChromeVox.msgs.getMsg("key_conflict",[d]);chrome.extension.getBackgroundPage().speak(d);
this.prevTime=b;a.preventDefault();a.stopPropagation()}},cvox.OptionsPage),!0);for(var c=cvox.CommandStore.categories(),d=0;d<c.length;d++)if("braille"!=c[d]){var e=document.createElement("h3");e.className="i18n";e.setAttribute("msgid",c[d]);e.id=c[d];a.appendChild(e);for(var f=cvox.CommandStore.commandsForCategory(c[d]),g=0;g<f.length;g++){var h=f[g],k=b.keyForCommand(h)[0];if("toggleChromeVox"!=h||!cvox.PlatformUtil.matchesPlatform(cvox.PlatformFilter.CHROMEOS)){e=document.createElement("input");
e.type="text";e.className="key active-key";e.id=h;k=null!=k?cvox.KeyUtil.keySequenceToString(k,!0):"";e.value=k;if("toggleStickyMode"==h||"stopSpeech"==h)e.disabled=!0;(k=cvox.CommandStore.messageForCommand(h))||(k=h);h=document.createElement("label");h.className="i18n";h.setAttribute("msgid",k);h.setAttribute("for",e.id);k=document.createElement("div");k.className="key-container";a.appendChild(k);k.appendChild(e);k.appendChild(h)}}e=document.createElement("br");a.appendChild(e)}null==document.getElementById("cvoxKey")&&
(e=document.createElement("input"),e.type="text",e.className="key",e.id="cvoxKey",h=document.createElement("label"),h.className="i18n",h.setAttribute("msgid","options_cvox_modifier_key"),h.setAttribute("for","cvoxKey"),a=document.getElementById("modifier_keys").nextSibling,b=a.parentNode,b.insertBefore(h,a),b.insertBefore(e,h),a=document.getElementById("cvoxKey"),a.value=localStorage.cvoxKey,a.addEventListener("keydown",function(a){this.modifierSeq_?this.modifierSeq_.addKeyEvent(a):(this.modifierCount_=
0,this.modifierSeq_=new cvox.KeySequence(a,!1));this.modifierSeq_.isAnyModifierActive()?this.modifierCount_++:(9!=a.keyCode&&chrome.extension.getBackgroundPage().speak(cvox.ChromeVox.msgs.getMsg("modifier_entry_error"),0,{}),this.modifierSeq_=null);a.shiftKey||9==a.keyCode||(a.preventDefault(),a.stopPropagation())},!0),a.addEventListener("keyup",function(a){if(this.modifierSeq_){this.modifierCount_--;if(0==this.modifierCount_){var b=cvox.KeyUtil.keySequenceToString(this.modifierSeq_,!0,!0);a.target.value=
b;chrome.extension.getBackgroundPage().speak(cvox.ChromeVox.msgs.getMsg("modifier_entry_set",[b]));localStorage.cvoxKey=b;this.modifierSeq_=null}a.preventDefault();a.stopPropagation()}},!0))};
cvox.OptionsPage.populateVoicesSelect=function(){var a=document.getElementById("voices");chrome.tts.getVoices(function(b){b.forEach(function(b){var d=document.createElement("option");d.voiceName=b.voiceName||"";d.innerText=d.voiceName;localStorage.voiceName==b.voiceName&&d.setAttribute("selected","");a.add(d)})});a.addEventListener("change",function(){var b=a.selectedIndex,b=a.options[b];localStorage.voiceName=b.voiceName},!0)};
cvox.OptionsPage.populateBrailleTablesSelect=function(){if(cvox.ChromeVox.isChromeOS){var a=cvox.OptionsPage.brailleTables,b=JSON.parse(cvox.ChromeVox.msgs.getMsg("locale_dict")),c=function(c,d){for(var e=[],f=localStorage[c.id]||localStorage.brailleTable,g=0,q;q=a[g];g++)if(q.dots===d){var n=document.createElement("option");n.id=q.id;e[q.locale]||(e[q.locale]=0);e[q.locale]++;var s=q.grade;n.textContent=s?cvox.ChromeVox.msgs.getMsg("options_braille_locale_grade",[b[q.locale],s]):b[q.locale];q.id==
f&&n.setAttribute("selected","");c.appendChild(n)}},d=document.getElementById("brailleTable6"),e=document.getElementById("brailleTable8");c(d,"6");c(e,"8");c=function(a){return function(){var b=a.selectedIndex,b=a.options[b];localStorage.brailleTable=b.id;localStorage[a.id]=b.id;b=chrome.extension.getBackgroundPage().braille;b.refreshTranslator()}};d.addEventListener("change",c(d),!0);e.addEventListener("change",c(e),!0);var f=document.getElementById("brailleTableType"),g=function(a){var b=localStorage.brailleTableType||
"brailleTable6";"brailleTable6"==b?(d.removeAttribute("aria-hidden"),d.setAttribute("tabIndex",0),d.style.display="block",a&&d.focus(),e.setAttribute("aria-hidden","true"),e.setAttribute("tabIndex",-1),e.style.display="none",localStorage.brailleTable=localStorage.brailleTable6,localStorage.brailleTableType="brailleTable6",f.textContent=cvox.ChromeVox.msgs.getMsg("options_braille_table_type_6")):(d.setAttribute("aria-hidden","true"),d.setAttribute("tabIndex",-1),d.style.display="none",e.removeAttribute("aria-hidden"),
e.setAttribute("tabIndex",0),e.style.display="block",a&&e.focus(),localStorage.brailleTable=localStorage.brailleTable8,localStorage.brailleTableType="brailleTable8",f.textContent=cvox.ChromeVox.msgs.getMsg("options_braille_table_type_8"));a=chrome.extension.getBackgroundPage().braille;a.refreshTranslator()};g(!1);f.addEventListener("click",function(){var a=localStorage.brailleTableType;localStorage.brailleTableType="brailleTable6"==a?"brailleTable8":"brailleTable6";g(!0)},!0)}};
cvox.OptionsPage.setValue=function(a,b){"INPUT"==a.tagName&&"checkbox"==a.type?a.checked="true"==b:"INPUT"==a.tagName&&"radio"==a.type?a.checked=String(a.value)==b:a.value=b};
cvox.OptionsPage.eventListener=function(a){window.setTimeout(function(){var b=a.target;if(b.classList.contains("pref"))if("INPUT"==b.tagName&&"checkbox"==b.type)cvox.OptionsPage.prefs.setPref(b.name,b.checked);else{if("INPUT"==b.tagName&&"radio"==b.type)for(var c=b.name,c=document.querySelectorAll('*[name="'+c+'"]'),d=0;d<c.length;d++)c[d].checked&&cvox.OptionsPage.prefs.setPref(b.name,c[d].value)}else b.classList.contains("key")&&(c=cvox.KeySequence.fromStr(b.value),"cvoxKey"==b.id?(cvox.OptionsPage.prefs.setPref(b.id,
b.value),cvox.OptionsPage.prefs.sendPrefsToAllTabs(!0,!0)):cvox.OptionsPage.prefs.setKey(b.id,c))},0);return!0};
cvox.OptionsPage.reset=function(){var a=document.getElementById("cvox_keymaps"),a=a.options[a.selectedIndex].id,b=cvox.ChromeVox.msgs,b=cvox.OptionsPage.prefs.getPrefs().currentKeyMap==a?b.getMsg("keymap_reset",[b.getMsg(a)]):b.getMsg("keymap_switch",[b.getMsg(a)]);cvox.OptionsPage.updateStatus_(b);cvox.OptionsPage.prefs.switchToKeyMap(a);document.getElementById("keysContainer").innerHTML="";cvox.OptionsPage.addKeys();cvox.ChromeVox.msgs.addTranslatedMessagesToDom(document)};
cvox.OptionsPage.updateStatus_=function(a){document.getElementById("status").innerText=a};cvox.OptionsPage.hidePlatformSpecifics=function(){if(!cvox.ChromeVox.isChromeOS)for(var a=document.body.querySelectorAll(".chromeos"),b=0,c;c=a[b];b++)c.setAttribute("aria-hidden","true"),c.style.display="none"};document.addEventListener("DOMContentLoaded",function(){cvox.OptionsPage.init()},!1);
