diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2019-08-14 01:54:01 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2019-08-14 01:54:01 +0200 |
| commit | 3f6d14720caa9295a2c9edeee7f3628f1e55ab73 (patch) | |
| tree | 704fa4fefeb74ad0fa9c3fe14a42e6fd3a9effc4 | |
| parent | 11e6523098abc8bf781fb9d1b71c77a11cf4c884 (diff) | |
plugins/phonegap-plugin-mobile-accessibility
21 files changed, 7428 insertions, 222 deletions
diff --git a/StoneIsland/plugins/android.json b/StoneIsland/plugins/android.json index e9460be9..1285146b 100755 --- a/StoneIsland/plugins/android.json +++ b/StoneIsland/plugins/android.json @@ -1,64 +1,67 @@ { - "prepare_queue": { - "installed": [], - "uninstalled": [] - }, - "config_munge": { - "files": {} - }, - "installed_plugins": { - "cordova-plugin-inappbrowser": { - "PACKAGE_NAME": "us.okfoc.stoneisland" + "prepare_queue": { + "installed": [], + "uninstalled": [] }, - "cordova-plugin-x-socialsharing": { - "PACKAGE_NAME": "us.okfoc.stoneisland" + "config_munge": { + "files": {} }, - "cordova-plugin-customurlscheme": { - "URL_SCHEME": "stoneisland", - "ANDROID_SCHEME": " ", - "ANDROID_HOST": " ", - "ANDROID_PATHPREFIX": "/", - "PACKAGE_NAME": "us.okfoc.stoneisland" + "installed_plugins": { + "cordova-plugin-inappbrowser": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-x-socialsharing": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-customurlscheme": { + "URL_SCHEME": "stoneisland", + "ANDROID_SCHEME": " ", + "ANDROID_HOST": " ", + "ANDROID_PATHPREFIX": "/", + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-whitelist": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-device": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-network-information": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-dialogs": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-geolocation": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "ionic-plugin-keyboard": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-statusbar": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-app-name": { + "APP_NAME": "Stone Island", + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-splashscreen": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "phonegap-plugin-push": { + "SENDER_ID": "85075801930", + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-sim": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "phonegap-plugin-mobile-accessibility": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + } }, - "cordova-plugin-whitelist": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-device": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-network-information": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-dialogs": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-geolocation": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "ionic-plugin-keyboard": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-statusbar": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-app-name": { - "APP_NAME": "Stone Island", - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-splashscreen": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "phonegap-plugin-push": { - "SENDER_ID": "85075801930", - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-sim": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - } - }, - "dependent_plugins": { - "cordova-plugin-compat": { - "PACKAGE_NAME": "us.okfoc.stoneisland" + "dependent_plugins": { + "cordova-plugin-compat": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + } } - } }
\ No newline at end of file diff --git a/StoneIsland/plugins/fetch.json b/StoneIsland/plugins/fetch.json index 8a3ea6e4..766220c5 100755 --- a/StoneIsland/plugins/fetch.json +++ b/StoneIsland/plugins/fetch.json @@ -1,126 +1,135 @@ { - "cordova-plugin-inappbrowser": { - "source": { - "type": "registry", - "id": "cordova-plugin-inappbrowser@1.5.0" + "cordova-plugin-inappbrowser": { + "source": { + "type": "registry", + "id": "cordova-plugin-inappbrowser@1.5.0" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - }, - "cordova-plugin-x-socialsharing": { - "source": { - "type": "registry", - "id": "cordova-plugin-x-socialsharing" + "cordova-plugin-x-socialsharing": { + "source": { + "type": "registry", + "id": "cordova-plugin-x-socialsharing" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - }, - "cordova-plugin-customurlscheme": { - "source": { - "type": "registry", - "id": "cordova-plugin-customurlscheme" + "cordova-plugin-customurlscheme": { + "source": { + "type": "registry", + "id": "cordova-plugin-customurlscheme" + }, + "is_top_level": true, + "variables": { + "URL_SCHEME": "stoneisland" + } }, - "is_top_level": true, - "variables": { - "URL_SCHEME": "stoneisland" - } - }, - "cordova-plugin-whitelist": { - "source": { - "type": "registry", - "id": "cordova-plugin-whitelist@1" + "cordova-plugin-whitelist": { + "source": { + "type": "registry", + "id": "cordova-plugin-whitelist@1" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - }, - "cordova-plugin-device": { - "source": { - "type": "registry", - "id": "cordova-plugin-device" + "cordova-plugin-device": { + "source": { + "type": "registry", + "id": "cordova-plugin-device" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - }, - "cordova-plugin-network-information": { - "source": { - "type": "registry", - "id": "cordova-plugin-network-information" + "cordova-plugin-network-information": { + "source": { + "type": "registry", + "id": "cordova-plugin-network-information" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - }, - "cordova-plugin-dialogs": { - "source": { - "type": "registry", - "id": "cordova-plugin-dialogs" + "cordova-plugin-dialogs": { + "source": { + "type": "registry", + "id": "cordova-plugin-dialogs" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - }, - "cordova-plugin-geolocation": { - "source": { - "type": "registry", - "id": "cordova-plugin-geolocation" + "cordova-plugin-geolocation": { + "source": { + "type": "registry", + "id": "cordova-plugin-geolocation" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - }, - "cordova-plugin-compat": { - "source": { - "type": "registry", - "id": "cordova-plugin-compat" + "cordova-plugin-compat": { + "source": { + "type": "registry", + "id": "cordova-plugin-compat" + }, + "is_top_level": false, + "variables": {} }, - "is_top_level": false, - "variables": {} - }, - "ionic-plugin-keyboard": { - "source": { - "type": "registry", - "id": "ionic-plugin-keyboard" + "ionic-plugin-keyboard": { + "source": { + "type": "registry", + "id": "ionic-plugin-keyboard" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - }, - "cordova-plugin-statusbar": { - "source": { - "type": "registry", - "id": "cordova-plugin-statusbar@2.2.3" + "cordova-plugin-statusbar": { + "source": { + "type": "registry", + "id": "cordova-plugin-statusbar@2.2.3" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - }, - "cordova-plugin-app-name": { - "source": { - "type": "registry", - "id": "cordova-plugin-app-name" + "cordova-plugin-app-name": { + "source": { + "type": "registry", + "id": "cordova-plugin-app-name" + }, + "is_top_level": true, + "variables": { + "APP_NAME": "Stone Island" + } }, - "is_top_level": true, - "variables": { - "APP_NAME": "Stone Island" - } - }, - "cordova-plugin-splashscreen": { - "source": { - "type": "registry", - "id": "cordova-plugin-splashscreen@~4.0.0" + "cordova-plugin-splashscreen": { + "source": { + "type": "registry", + "id": "cordova-plugin-splashscreen@~4.0.0" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - }, - "phonegap-plugin-push": { - "source": { - "type": "registry", - "id": "phonegap-plugin-push@1.9.2" + "phonegap-plugin-push": { + "source": { + "type": "registry", + "id": "phonegap-plugin-push@1.9.2" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - }, - "cordova-plugin-sim": { - "source": { - "type": "registry", - "id": "cordova-plugin-sim" + "cordova-plugin-sim": { + "source": { + "type": "registry", + "id": "cordova-plugin-sim" + }, + "is_top_level": true, + "variables": {} }, - "is_top_level": true, - "variables": {} - } + "phonegap-plugin-mobile-accessibility": { + "source": { + "type": "git", + "url": "https://github.com/phonegap/phonegap-mobile-accessibility.git", + "subdir": "." + }, + "is_top_level": true, + "variables": {} + } }
\ No newline at end of file diff --git a/StoneIsland/plugins/ios.json b/StoneIsland/plugins/ios.json index 8dd1067c..b95f9dd3 100644 --- a/StoneIsland/plugins/ios.json +++ b/StoneIsland/plugins/ios.json @@ -1,61 +1,64 @@ { - "prepare_queue": { - "installed": [], - "uninstalled": [] - }, - "config_munge": { - "files": {} - }, - "installed_plugins": { - "cordova-plugin-app-name": { - "APP_NAME": "Stone Island", - "PACKAGE_NAME": "us.okfoc.stoneisland" + "prepare_queue": { + "installed": [], + "uninstalled": [] }, - "cordova-plugin-customurlscheme": { - "URL_SCHEME": "stoneisland", - "PACKAGE_NAME": "us.okfoc.stoneisland" + "config_munge": { + "files": {} }, - "cordova-plugin-device": { - "PACKAGE_NAME": "us.okfoc.stoneisland" + "installed_plugins": { + "cordova-plugin-app-name": { + "APP_NAME": "Stone Island", + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-customurlscheme": { + "URL_SCHEME": "stoneisland", + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-device": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-dialogs": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-geolocation": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-inappbrowser": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-network-information": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-splashscreen": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-statusbar": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-whitelist": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-x-socialsharing": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "ionic-plugin-keyboard": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "phonegap-plugin-push": { + "SENDER_ID": "85075801930", + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "cordova-plugin-sim": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "phonegap-plugin-mobile-accessibility": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + } }, - "cordova-plugin-dialogs": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-geolocation": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-inappbrowser": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-network-information": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-splashscreen": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-statusbar": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-whitelist": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-x-socialsharing": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "ionic-plugin-keyboard": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "phonegap-plugin-push": { - "SENDER_ID": "85075801930", - "PACKAGE_NAME": "us.okfoc.stoneisland" - }, - "cordova-plugin-sim": { - "PACKAGE_NAME": "us.okfoc.stoneisland" - } - }, - "dependent_plugins": { - "cordova-plugin-compat": { - "PACKAGE_NAME": "us.okfoc.stoneisland" + "dependent_plugins": { + "cordova-plugin-compat": { + "PACKAGE_NAME": "us.okfoc.stoneisland" + } } - } }
\ No newline at end of file diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/LICENSE b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/LICENSE new file mode 100644 index 00000000..37ec93a1 --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/LICENSE @@ -0,0 +1,191 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/NOTICE b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/NOTICE new file mode 100644 index 00000000..fd6e4609 --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/NOTICE @@ -0,0 +1,35 @@ +PhoneGap Mobile Accessibility plugin + +com.phonegap.plugin.mobile-accessibility + +Copyright 2014 Adobe Systems Incorporated + +This software is licensed under the Apache License, Version 2.0 (see LICENSE file). + +This software bundles the following third party software that may have +licenses differing from that of the software itself. You can find the +libraries and their respective licenses below. + +Third Party Software Notices: +============================= + + - AndroidVox_v1.js - ./www/android/AndroidVox_v1.js + from https://ssl.gstatic.com/accessibility/javascript/android/AndroidVox_v1.js + - chromeandroidvox.js - ./www/android/chromeandroidvox.js + from https://ssl.gstatic.com/accessibility/javascript/android/chromeandroidvox.js + +source url: https://code.google.com/p/google-axs-chrome/source/browse/#svn%2Ftrunk%2Fchromevox + +Copyright 2013 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/README.md b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/README.md new file mode 100644 index 00000000..dc8b25d2 --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/README.md @@ -0,0 +1,1073 @@ +# phonegap-plugin-mobile-accessibility +========================================== + +This plugin exposes information on the status of various accessibility features of mobile operating systems, including, for example, whether a screen reader is running, invert colors is enabled, and the preferred scaling for text. It also allows an application to send a string to be spoken by the screen reader, or a command to stop the screen reader from speaking. + +--------------- +## Installation + + $ cordova plugin add https://github.com/phonegap/phonegap-mobile-accessibility.git + +---------------------- +## Supported Platforms + +- Amazon Fire OS +- Android +- iOS + +---------------------- +## MobileAccessibility + +The `MobileAccessibility` object, exposed by `window.MobileAccessibility`, provides methods for determining the status of accessibility features active on the user's device, methods changing the text zoom of the Cordova web view and for using the user's preferred text zoom as set in the operating system settings, and methods for sending a string to be spoken by the screen reader or to stop the screen reader from speaking. + +----------- +### Methods + +- MobileAccessibility.isScreenReaderRunning +- MobileAccessibility.isVoiceOverRunning +- MobileAccessibility.isTalkBackRunning +- MobileAccessibility.isChromeVoxActive +- MobileAccessibility.isClosedCaptioningEnabled +- MobileAccessibility.isGuidedAccessEnabled +- MobileAccessibility.isInvertColorsEnabled +- MobileAccessibility.isMonoAudioEnabled +- MobileAccessibility.isReduceMotionEnabled +- MobileAccessibility.isTouchExplorationEnabled +- MobileAccessibility.getTextZoom +- MobileAccessibility.setTextZoom +- MobileAccessibility.updateTextZoom +- MobileAccessibility.usePreferredTextZoom +- MobileAccessibility.postNotification +- MobileAccessibility.speak +- MobileAccessibility.stop + +-------------------------------------------------------- +#### MobileAccessibility.isScreenReaderRunning(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if a screen reader is running. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isScreenReaderRunningCallback(boolean) { + if (boolean) { + console.log("Screen reader: ON"); + // Do something to improve the behavior of the application while a screen reader is active. + } else { + console.log("Screen reader: OFF"); + } + } + + MobileAccessibility.isScreenReaderRunning(isScreenReaderRunningCallback); +``` + +##### Supported Platforms + +- Amazon Fire OS +- Android +- iOS + +----------------------------------------------------- +#### MobileAccessibility.isVoiceOverRunning(callback) + + +An iOS-specific proxy for the `MobileAccessibility.isScreenReaderRunning` method. This method will return `false` on Android and Amazon Fire OS. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isVoiceOverRunningCallback(boolean) { + if (boolean) { + console.log("Screen reader: ON"); + // Do something to improve the behavior of the application while a screen reader is active. + } else { + console.log("Screen reader: OFF"); + } + } + + MobileAccessibility.isVoiceOverRunning(isVoiceOverRunningCallback); +``` + +##### Supported Platforms + +- iOS + +---------------------------------------------------- +#### MobileAccessibility.isTalkBackRunning(callback) + + +An Android/Amazon Fire OS-specific proxy for the `MobileAccessibility.isScreenReaderRunning` method. This method will return `false` on iOS. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isTalkBackRunningCallback(boolean) { + if (boolean) { + console.log("Screen reader: ON"); + // Do something to improve the behavior of the application while a screen reader is active. + } else { + console.log("Screen reader: OFF"); + } + } + + MobileAccessibility.isTalkBackRunning(isTalkBackRunningCallback); +``` + +##### Supported Platforms + +- Amazon Fire OS +- Android + +---------------------------------------------------- +#### MobileAccessibility.isChromeVoxActive() + + +On Android, this method returns `true` if ChromeVox is active and properly initialized with access to the text to speech API in the WebView. +If TalkBack is running but ChromeVox is not active, this method is useful to alert the user of a potential problem. + +##### Returns + +- __boolean__ (Boolean) Returns `true` if ChromeVox is active and properly initialized with access to the text to speech API in the WebView. + +##### Usage + +```javascript + MobileAccessibility.isTalkBackRunning( + function (bool) { + console.log('Talkback status: ' + bool); + if (bool) { + /* Use setTimeout to account for latency in initialization of ChromeVox */ + setTimeout(function() { + if (MobileAccessibility.isChromeVoxActive()) { + console.log('ChromeVox is active.'); + } else { + console.log('ChromeVox is not active.'); + + /* Notify the user of a potential problem */ + MobileAccessibility.speak('The ChromeVox screen reader has failed to initialize. You may wish to close and restart this app.'); + } + }, 5000); + } + }); +``` + +##### Supported Platforms + +- Amazon Fire OS +- Android + +-------------------------------------------------------- +#### MobileAccessibility.isBoldTextEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if Bold Text is enabled. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isBoldTextEnabledCallback(boolean) { + if (boolean) { + console.log("Bold Text: ON"); + // Do something to improve the behavior of the application while Bold Text is enabled. + } else { + console.log("Bold Text: OFF"); + } + } + + MobileAccessibility.isBoldTextEnabled(isBoldTextEnabledCallback); +``` + +##### Supported Platforms + +- iOS + +------------------------------------------------------------ +#### MobileAccessibility.isClosedCaptioningEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if system-level closed captioning is enabled on the device. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isClosedCaptioningEnabledCallback(boolean) { + if (boolean) { + console.log("Closed Captioning: ON"); + // Do something to improve the behavior of the application while closed captioning is enabled. + } else { + console.log("Closed Captioning: OFF"); + } + } + + MobileAccessibility.isClosedCaptioningEnabled(isClosedCaptioningEnabledCallback); +``` + +##### Supported Platforms + +- Amazon Fire OS +- Android +- iOS + +-------------------------------------------------------- +#### MobileAccessibility.isDarkerSystemColorsEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if Darker System Colors is enabled. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isDarkerSystemColorsEnabledCallback(boolean) { + if (boolean) { + console.log("Darker System Colors: ON"); + // Do something to improve the behavior of the application while Darker System Colors is enabled. + } else { + console.log("Darker System Colors: OFF"); + } + } + + MobileAccessibility.isDarkerSystemColorsEnabled(isDarkerSystemColorsEnabledCallback); +``` + +##### Supported Platforms + +- iOS + +-------------------------------------------------------- +#### MobileAccessibility.isGrayscaleEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if Grayscale is enabled. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isGrayscaleEnabledCallback(boolean) { + if (boolean) { + console.log("Grayscale: ON"); + // Do something to improve the behavior of the application while Grayscale is enabled. + } else { + console.log("Grayscale: OFF"); + } + } + + MobileAccessibility.isGrayscaleEnabled(isGrayscaleEnabledCallback); +``` + +##### Supported Platforms + +- iOS + +-------------------------------------------------------- +#### MobileAccessibility.isGuidedAccessEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if Guided Access is enabled. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isGuidedAccessEnabledCallback(boolean) { + if (boolean) { + console.log("Guided Access: ON"); + // Do something to improve the behavior of the application while Guided Access is enabled. + } else { + console.log("Guided Access: OFF"); + } + } + + MobileAccessibility.isGuidedAccessEnabledEnabled(isGuidedAccessEnabledCallback); +``` + +##### Supported Platforms + +- iOS + +-------------------------------------------------------- +#### MobileAccessibility.isInvertColorsEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if the display colors have been inverted. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isInvertColorsEnabledCallback(boolean) { + if (boolean) { + console.log("Invert Colors: ON"); + // Do something to improve the behavior of the application while Invert Colors is enabled. + } else { + console.log("Invert Colors: OFF"); + } + } + + MobileAccessibility.isInvertColorsEnabled(isInvertColorsEnabledCallback); +``` + +##### Supported Platforms + +- iOS + +----------------------------------------------------- +#### MobileAccessibility.isMonoAudioEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if mono audio is enabled. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isMonoAudioEnabledCallback(boolean) { + if (boolean) { + console.log("Mono Audio: ON"); + // Do something to improve the behavior of the application while Mono Audio is enabled. + } else { + console.log("Mono Audio: OFF"); + } + } + + MobileAccessibility.isMonoAudioEnabled(isMonoAudioEnabledCallback); +``` + +##### Supported Platforms + +- iOS + +---------------------------------------------------- +#### MobileAccessibility.isReduceMotionEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if reduce motion is enabled. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isReduceMotionEnabledCallback(boolean) { + if (boolean) { + console.log("Reduce Motion: ON"); + // Do something to improve the behavior of the application when reduce motion is enabled. + } else { + console.log("Reduce Motion: OFF"); + } + } + + MobileAccessibility.isReduceMotionEnabled(isReduceMotionEnabledCallback); +``` + +##### Supported Platforms + +- iOS + +---------------------------------------------------- +#### MobileAccessibility.isReduceTransparencyEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if reduce transparency is enabled. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isReduceTransparencyEnabledCallback(boolean) { + if (boolean) { + console.log("Reduce Transparency: ON"); + // Do something to improve the behavior of the application when reduce transparency is enabled. + } else { + console.log("Reduce Transparency: OFF"); + } + } + + MobileAccessibility.isReduceTransparencyEnabled(isReduceTransparencyEnabledCallback); +``` + +##### Supported Platforms + +- iOS + +---------------------------------------------------- +#### MobileAccessibility.isSpeakScreenEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if speak screen is enabled. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isSpeakScreenEnabledCallback(boolean) { + if (boolean) { + console.log("Speak Screen: ON"); + // Do something to improve the behavior of the application when Speak Screen is enabled. + } else { + console.log("Speak Screen: OFF"); + } + } + + MobileAccessibility.isSpeakScreenEnabled(isSpeakScreenEnabledCallback); +``` + +##### Supported Platforms + +- iOS + +---------------------------------------------------- +#### MobileAccessibility.isSpeakSelectionEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if speak selection is enabled. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isSpeakSelectionEnabledCallback(boolean) { + if (boolean) { + console.log("Speak Selection: ON"); + // Do something to improve the behavior of the application when Speak Selection is enabled. + } else { + console.log("Speak Selection: OFF"); + } + } + + MobileAccessibility.isSpeakSelectionEnabled(isSpeakSelectionEnabledCallback); +``` + +##### Supported Platforms + +- iOS + +---------------------------------------------------- +#### MobileAccessibility.isSwitchControlRunning(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if switch control is running. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isSwitchControlRunningCallback(boolean) { + if (boolean) { + console.log("Switch Control: ON"); + // Do something to improve the behavior of the application when Switch Control is running. + } else { + console.log("Switch Control: OFF"); + } + } + + MobileAccessibility.isSwitchControlRunning(isSwitchControlRunningCallback); +``` + +##### Supported Platforms + +- iOS + +------------------------------------------------------------ +#### MobileAccessibility.isTouchExplorationEnabled(callback) + +Makes an asynchronous call to native `MobileAccessibility` to determine if Touch Exploration is enabled on Android. + +##### Parameters + +- __callback__ (Function) A callback method to receive the boolean result asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function isTouchExplorationEnabledCallback(boolean) { + if (boolean) { + console.log("Touch Exploration: ON"); + // Do something to improve the behavior of the application with Touch Exploration enabled. + } else { + console.log("Touch Exploration: OFF"); + // Do something to improve the behavior of the application with Touch Exploration disabled. + + } + } + + MobileAccessibility.isTouchExplorationEnabled(isTouchExplorationEnabledCallback); +``` + +##### Supported Platforms + +- Amazon Fire OS +- Android + +-------------------------------------------------------- +#### MobileAccessibility.getTextZoom(callback) + +Makes an asynchronous call to native `MobileAccessibility` to return the current text zoom percent value for the WebView. + +##### Parameters + +- __callback__ (Function) A callback method to receive the text zoom percent value asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function getTextZoomCallback(textZoom) { + console.log('Current text zoom = ' + textZoom + '%') + } + + MobileAccessibility.getTextZoom(getTextZoomCallback); +``` +##### Supported Platforms + +- Amazon Fire OS +- Android +- iOS + +-------------------------------------------------------- +#### MobileAccessibility.setTextZoom(textZoom, callback) + +Makes an asynchronous call to native `MobileAccessibility` to set the current text zoom percent value for the WebView. + +##### Parameters + +- __textZoom__ (Number) A percentage value by which text in the WebView should be scaled. +- __callback__ (Function) A callback method to receive the new text zoom percent value asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function setTextZoomCallback(textZoom) { + console.log('WebView text should be scaled ' + textZoom + '%') + } + + MobileAccessibility.setTextZoom(200, setTextZoomCallback); +``` + +##### Supported Platforms + +- Amazon Fire OS +- Android +- iOS + +------------------------------------------------- +#### MobileAccessibility.updateTextZoom(callback) + +Makes an asynchronous call to native `MobileAccessibility` to retrieve the user's preferred text zoom from system settings and apply it to the application WebView. + +##### Parameters + +- __callback__ (Function) A callback method to receive the new text zoom percent value asynchronously from the native `MobileAccessibility` plugin. + +##### Usage + +```javascript + function updateTextZoomCallback(textZoom) { + console.log('WebView text should be scaled ' + textZoom + '%') + } + + MobileAccessibility.updateTextZoom(callback); +``` + +##### Supported Platforms + +- Amazon Fire OS +- Android +- iOS7+ + +------------------------------------------------------ +#### MobileAccessibility.usePreferredTextZoom(boolean) + +Specifies whether or not the application should use the user's preferred text zoom from system settings to scale text within the WebView. +When set to `true`, this method calls `MobileAccessibility.updateTextZoom()` to apply new text zoom settings to the application WebView. When set to `false`, the application WebView text zoom will be reset to the default value of `100` percent. The plugin uses local storage to retain the preference and will call `MobileAccessibility.updateTextZoom()` after a Cordova `resume` event. + +##### Parameters + +- __boolean__ (Boolean) A Boolean value which specifies whether to use the preferred text zoom of a default percent value of 100. + +##### Usage + +```javascript + MobileAccessibility.usePreferredTextZoom(true); + + function getTextZoomCallback(textZoom) { + console.log('WebView text should be scaled to the preferred value ' + textZoom + '%') + } + + MobileAccessibility.getTextZoom(getTextZoomCallback); +``` + +##### Supported Platforms + +- Amazon Fire OS +- Android +- iOS7+ + +-------------------------------------------------------------------------------------------- +#### MobileAccessibility.postNotification(mobileAccessibilityNotification, string, callback) + +Posts a notification with a string for the screen reader to announce if it is running. + +##### Parameters + +- __mobileAccessibilityNotification__ (uint) A numeric constant for the type of notification to send. Constants are defined in `MobileAccessibilityNotifications`. +- __string__ (string) A string to be announced by a screen reader. +- __callback__ (function) A callback method to receive the asynchronous result from the native `MobileAccessibility`, when the announcement is finished, the function should expect an object containing the `stringValue` that was voiced and a boolean indicating that the announcement `wasSuccessful`. + +##### Constants + +The following constants are for sending notifications to the accessibility API using the `MobileAccessibility.postNotification` method. They correspond to notification constants defined in [UIAccessibilityNotifications](https://developer.apple.com/library/ios/documentation/uikit/reference/UIAccessibility_Protocol/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008786-CH1-DontLinkElementID_3) on iOS. + +- MobileAccessibilityNotifications.SCREEN_CHANGED +- MobileAccessibilityNotifications.LAYOUT_CHANGED +- MobileAccessibilityNotifications.ANNOUNCEMENT +- MobileAccessibilityNotifications.PAGE_SCROLLED + +```javascript + MobileAccessibility.postNotification( + MobileAccessibilityNotifications.ANNOUNCEMENT, + 'String to be announced by screen reader.', + function(info) { + if (info) { + console.log("Screen Reader announced \"" + info.stringValue + "\" success : " + info.wasSuccessful); + } + }); +``` + +##### Supported Platforms + +- iOS + +------------------------------------------------------------- +#### MobileAccessibility.speak(string, queueMode, properties) + + +Speaks a given string through the screenreader. On Android, if ChromeVox is active, it will use the specified queueMode and properties. + +##### Parameters + +- __string__ (string) A string to be announced by a screen reader. +- __queueMode__ (Optional number) Valid modes are 0 for flush; 1 for queue. +- __properties__ (Optional Object) Speech properties to use for this utterance. + +```javascript + MobileAccessibility.speak('This string will be announced when a screen reader is active on the device.'); +``` + +##### Supported Platforms + +- Amazon Fire OS +- Android +- iOS + +------------------------------- +#### MobileAccessibility.stop() + +Stops speech. + +```javascript + MobileAccessibility.stop(); +``` + +##### Supported Platforms + +- Amazon Fire OS +- Android +- iOS + +---------- +### Events + +-------------- +#### Constants + +The following event constants are for `window` events, to which an application can listen for notification of changes in the status of the accessibility features on the device. + +- MobileAccessibilityNotifications.BOLD_TEXT_STATUS_CHANGED +- MobileAccessibilityNotifications.CLOSED_CAPTIONING_STATUS_CHANGED +- MobileAccessibilityNotifications.DARKER_SYSTEM_COLORS_STATUS_CHANGED +- MobileAccessibilityNotifications.GRAYSCALE_STATUS_CHANGED +- MobileAccessibilityNotifications.GUIDED_ACCESS_STATUS_CHANGED +- MobileAccessibilityNotifications.INVERT_COLORS_STATUS_CHANGED +- MobileAccessibilityNotifications.MONO_AUDIO_STATUS_CHANGED +- MobileAccessibilityNotifications.REDUCE_MOTION_STATUS_CHANGED +- MobileAccessibilityNotifications.REDUCE_TRANSPARENCY_STATUS_CHANGED +- MobileAccessibilityNotifications.SCREEN_READER_STATUS_CHANGED +- MobileAccessibilityNotifications.SPEAK_SCREEN_STATUS_CHANGED +- MobileAccessibilityNotifications.SPEAK_SELECTION_STATUS_CHANGED +- MobileAccessibilityNotifications.SWITCH_CONTROL_STATUS_CHANGED +- MobileAccessibilityNotifications.TOUCH_EXPLORATION_STATUS_CHANGED + +---------------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.BOLD_TEXT_STATUS_CHANGED (boldtextstatuschanged) + +The event fires when Bold Text has been enabled on an iOS device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Bold Text is active, `info.isBoldTextEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onBoldTextStatusChanged(info) { + if (info && typeof info.isBoldTextEnabled !== "undefined") { + if (info.isBoldTextEnabled) { + console.log("Bold Text: ON"); + // Do something to improve the behavior of the application while Bold Text is enabled. + } else { + console.log("Bold Text: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.BOLD_TEXT_STATUS_CHANGED, onBoldTextStatusChanged, false); +``` + +------------------------------------------------------------------------------------------------------ +#### MobileAccessibilityNotifications.CLOSED_CAPTIONING_STATUS_CHANGED (closedcaptioningstatuschanged) + +The event fires when system-level closed captioning on the device turns on or off. +The event returns an object, `info`, with the current status of accessibility features on the device. +If closed captioning is active, `info.isClosedCaptioningEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onClosedCaptioningStatusChanged(info) { + if (info && typeof info.isClosedCaptioningEnabled !== "undefined") { + if (info.isClosedCaptioningEnabled) { + console.log("Closed Captioning: ON"); + // Do something to improve the behavior of the application while closed captioning is enabled. + } else { + console.log("Closed Captioning: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.CLOSED_CAPTIONING_STATUS_CHANGED, onClosedCaptioningStatusChanged, false); +``` + +---------------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.DARKER_SYSTEM_COLORS_STATUS_CHANGED (darkersystemcolorsstatuschanged) + +The event fires when Darker System Colors has been enabled on an iOS device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Darker System Colors is active, `info.isDarkerSystemColorsEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onDarkerSystemColorsStatusChanged(info) { + if (info && typeof info.isDarkerSystemColorsEnabled !== "undefined") { + if (info.isDarkerSystemColorsEnabled) { + console.log("Darker System Colors: ON"); + // Do something to improve the behavior of the application while Darker System Colors is enabled. + } else { + console.log("Darker System Colors: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.DARKER_SYSTEM_COLORS_STATUS_CHANGED, onDarkerSystemColorsStatusChanged, false); +``` + +---------------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.GRAYSCALE_STATUS_CHANGED (grayscalestatuschanged) + +The event fires when Grayscale has been enabled on an iOS device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Grayscale is active, `info.isGrayscaleEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onGrayscaleStatusChanged(info) { + if (info && typeof info.isGrayscaleEnabled !== "undefined") { + if (info.isGrayscaleEnabled) { + console.log("Grayscale: ON"); + // Do something to improve the behavior of the application while Grayscale is enabled. + } else { + console.log("Grayscale: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.GRAYSCALE_STATUS_CHANGED, onGrayscaleStatusChanged, false); +``` + +---------------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.GUIDED_ACCESS_STATUS_CHANGED (guidedaccessstatuschanged) + +The event fires when Guided Access has been enabled on an iOS device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Guided Access is active, `info.isGuidedAccessEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onGuidedAccessStatusChanged(info) { + if (info && typeof info.isGuidedAccessEnabled !== "undefined") { + if (info.isGuidedAccessEnabled) { + console.log("Guided Access: ON"); + // Do something to improve the behavior of the application while Guided Access is enabled. + } else { + console.log("Guided Access: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.GUIDED_ACCESS_STATUS_CHANGED, onGuidedAccessStatusChanged, false); +``` + +---------------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.INVERT_COLORS_STATUS_CHANGED (invertcolorsstatuschanged) + +The event fires when Invert Colors has been enabled on an iOS device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Invert Colors is active, `info.isInvertColorsEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onInvertColorsStatusChanged(info) { + if (info && typeof info.isInvertColorsEnabled !== "undefined") { + if (info.isInvertColorsEnabled) { + console.log("Invert Colors: ON"); + // Do something to improve the behavior of the application while Invert Colors is enabled. + } else { + console.log("Invert Colors: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.INVERT_COLORS_STATUS_CHANGED, onInvertColorsStatusChanged, false); +``` + +---------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.MONO_AUDIO_STATUS_CHANGED (monoaudiostatuschanged) + +The event fires when Mono Audio has been enabled on an iOS device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Mono Audio is active, `info.isMonoAudioEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onMonoAudioStatusChanged(info) { + if (info && typeof info.isMonoAudioEnabled !== "undefined") { + if (info.isMonoAudioEnabled) { + console.log("Mono Audio: ON"); + // Do something to improve the behavior of the application while Mono Audio is enabled. + } else { + console.log("Mono Audio: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.MONO_AUDIO_STATUS_CHANGED, onMonoAudioStatusChanged, false); +``` + +---------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.REDUCE_MOTION_STATUS_CHANGED (reducemotionstatuschanged) + +The event fires when Reduce Motion has been enabled on an iOS device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Reduce Motion is active, `info.isReduceMotionEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onReduceMotionStatusChanged(info) { + if (info && typeof info.isReduceMotionEnabled !== "undefined") { + if (info.isReduceMotionEnabled) { + console.log("Reduce Motion: ON"); + // Do something to improve the behavior of the application while Reduce Motion is enabled. + } else { + console.log("Reduce Motion: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.REDUCE_MOTION_STATUS_CHANGED, onMReduceMotionStatusChanged, false); +``` + +---------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.REDUCE_TRANSPARENCY_STATUS_CHANGED (reducetransparencystatuschanged) + +The event fires when Reduce Transparency has been enabled on an iOS device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Reduce Transparency is active, `info.isReduceTransparencyEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onReduceTransparencyStatusChanged(info) { + if (info && typeof info.isReduceTransparencyEnabled !== "undefined") { + if (info.isReduceTransparencyEnabled) { + console.log("Reduce Transparency: ON"); + // Do something to improve the behavior of the application while Reduce Transparency is enabled. + } else { + console.log("Reduce Transparency: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.REDUCE_TRANSPARENCY_STATUS_CHANGED, onReduceTransparencyStatusChanged, false); +``` + +---------------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.SCREEN_READER_STATUS_CHANGED (screenreaderstatuschanged) + +The event fires when a screen reader on the device turns on or off. +The event returns an object, `info`, with the current status of accessibility features on the device. +If a screen reader is active, `info.isScreenReaderRunning` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onScreenReaderStatusChanged(info) { + if (info && typeof info.isScreenReaderRunning !== "undefined") { + if (info.isScreenReaderRunning) { + console.log("Screen reader: ON"); + // Do something to improve the behavior of the application while a screen reader is active. + } else { + console.log("Screen reader: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.SCREEN_READER_STATUS_CHANGED, onScreenReaderStatusChanged, false); +``` + +---------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.SPEAK_SCREEN_STATUS_CHANGED (speakscreenstatuschanged) + +The event fires when Speak Screen has been enabled on an iOS device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Speak Screen is active, `info.isSpeakScreenEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onSpeakScreenStatusChanged(info) { + if (info && typeof info.isSpeakScreenEnabled !== "undefined") { + if (info.isSpeakScreenEnabled) { + console.log("Speak Screen: ON"); + // Do something to improve the behavior of the application while Speak Screen is enabled. + } else { + console.log("Speak Screen: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.SPEAK_SCREEN_STATUS_CHANGED, onSpeakScreenStatusChanged, false); +``` + +---------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.SPEAK_SELECTION_STATUS_CHANGED (speakselectionstatuschanged) + +The event fires when Speak Selection has been enabled on an iOS device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Speak Selection is active, `info.isSpeakSelectionEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onSpeakSelectionStatusChanged(info) { + if (info && typeof info.isSpeakSelectionEnabled !== "undefined") { + if (info.isSpeakSelectionEnabled) { + console.log("Speak Selection: ON"); + // Do something to improve the behavior of the application while Speak Selection is enabled. + } else { + console.log("Speak Selection: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.SPEAK_SELECTION_STATUS_CHANGED, onSpeakSelectionStatusChanged, false); +``` + + +---------------------------------------------------------------------------------------- +#### MobileAccessibilityNotifications.SWITCH_CONTROL_STATUS_CHANGED (switchcontrolstatuschanged) + +The event fires when Switch Control is running on an iOS device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Switch Control is running, `info.isSwitchControlRunning` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onSwitchControlStatusChanged(info) { + if (info && typeof info.isSwitchControlRunning !== "undefined") { + if (info.isSwitchControlRunning) { + console.log("Switch Control: ON"); + // Do something to improve the behavior of the application while Switch Control is running. + } else { + console.log("Switch Control: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.SWITCH_CONTROL_STATUS_CHANGED, onSwitchControlStatusChanged, false); +``` + +------------------------------------------------------------------------------------------------------ +#### MobileAccessibilityNotifications.TOUCH_EXPLORATION_STATUS_CHANGED (touchexplorationstatuschanged) + +The event fires when Touch Exploration has been enabled on an Android device. +The event returns an object, `info`, with the current status of accessibility features on the device. +If Touch Exploration is active, `info.isTouchExplorationEnabled` will equal `true`. + +```javascript + // Define a persistent callback method to handle the event + function onTouchExplorationChanged(info) { + if (info && typeof info.isTouchExplorationEnabled !== "undefined") { + if (info.isTouchExplorationEnabled) { + console.log("Touch Exploration: ON"); + // Do something to improve the behavior of the application while Touch Exploration is enabled. + } else { + console.log("Touch Exploration: OFF"); + } + } + } + + // Register the callback method to handle the event + window.addEventListener(MobileAccessibilityNotifications.TOUCH_EXPLORATION_STATUS_CHANGED, onTouchExplorationChanged, false); +``` diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/package.json b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/package.json new file mode 100644 index 00000000..6f6eb1e1 --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/package.json @@ -0,0 +1,37 @@ +{ + "name": "phonegap-plugin-mobile-accessibility", + "description": "PhoneGap Mobile Accessibility Plugin", + "version": "1.0.5", + "homepage": "http://github.com/phonegap/phonegap-mobile-accessibility#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/phonegap/phonegap-mobile-accessibility.git" + }, + "bugs": { + "url": "https://github.com/phonegap/phonegap-mobile-accessibility/issues" + }, + "cordova": { + "id": "phonegap-plugin-mobile-accessibility", + "platforms": [ + "ios", + "android", + "windows" + ] + }, + "keywords": [ + "phonegap", + "mobile accessibility", + "ecosystem:cordova", + "cordova-ios", + "cordova-android", + "cordova-windows" + ], + "engines": [ + { + "name": "cordova", + "version": ">=3.0.0" + } + ], + "author": "Adobe PhoneGap Team", + "license": "Apache 2.0" +} diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/plugin.xml b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/plugin.xml new file mode 100644 index 00000000..dc56322a --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/plugin.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" + xmlns:android="http://schemas.android.com/apk/res/android" + id="phonegap-plugin-mobile-accessibility" + version="1.0.5-dev"> + <name>Mobile Accessibility</name> + <description>PhoneGap Mobile Accessibility Plugin</description> + <license>Apache 2.0</license> + <keywords>phonegap, mobile accessibility</keywords> + + <engines> + <engine name="cordova" version=">=3.0.0" /> + </engines> + + <js-module src="www/mobile-accessibility.js" name="mobile-accessibility"> + <clobbers target="window.MobileAccessibility" /> + </js-module> + + <js-module src="www/MobileAccessibilityNotifications.js" name="MobileAccessibilityNotifications"> + <clobbers target="MobileAccessibilityNotifications" /> + </js-module> + + <dependency id="cordova-plugin-device" url="https://github.com/apache/cordova-plugin-device.git" /> + <dependency id="cordova-plugin-network-information" url="https://github.com/apache/cordova-plugin-network-information.git" /> + + <!-- ios --> + <platform name="ios"> + <config-file target="config.xml" parent="/*"> + <feature name="MobileAccessibility"> + <param name="ios-package" value="CDVMobileAccessibility" onload="true" /> + </feature> + </config-file> + <framework src="MediaAccessibility.framework" weak="true" /> + <header-file src="src/ios/CDVMobileAccessibility.h" /> + <source-file src="src/ios/CDVMobileAccessibility.m" /> + </platform> + + <!-- android --> + <platform name="android"> + <config-file target="config.xml" parent="/*"> + <!-- for some reason, these dependant feature tags, Device and NetworkStatus, + are not being added to the /res/xml/config.xml when the project is built, + so I've added them here to make sure they make it into the build --> + <feature name="Device"> + <param name="android-package" value="org.apache.cordova.device.Device" /> + </feature> + <feature name="NetworkStatus"> + <param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager"/> + </feature> + + <access origin="https://ssl.gstatic.com/accessibility/javascript/android/*" /> + <feature name="MobileAccessibility" > + <param name="android-package" value="com.phonegap.plugin.mobileaccessibility.MobileAccessibility"/> + </feature> + </config-file> + <source-file src="src/android/com/phonegap/plugin/mobileaccessibility/MobileAccessibility.java" target-dir="src/com/phonegap/plugin/mobileaccessibility" /> + <source-file src="src/android/com/phonegap/plugin/mobileaccessibility/AbstractMobileAccessibilityHelper.java" target-dir="src/com/phonegap/plugin/mobileaccessibility" /> + <source-file src="src/android/com/phonegap/plugin/mobileaccessibility/DonutMobileAccessibilityHelper.java" target-dir="src/com/phonegap/plugin/mobileaccessibility" /> + <source-file src="src/android/com/phonegap/plugin/mobileaccessibility/IceCreamSandwichMobileAccessibilityHelper.java" target-dir="src/com/phonegap/plugin/mobileaccessibility" /> + <source-file src="src/android/com/phonegap/plugin/mobileaccessibility/JellyBeanMobileAccessibilityHelper.java" target-dir="src/com/phonegap/plugin/mobileaccessibility" /> + <source-file src="src/android/com/phonegap/plugin/mobileaccessibility/KitKatMobileAccessibilityHelper.java" target-dir="src/com/phonegap/plugin/mobileaccessibility" /> + <asset src="www/android" target="plugins/com.phonegap.plugin.mobile-accessibility/android" /> + </platform> + + <!-- windows --> + <platform name="windows"> + <js-module src="src/windows/mobile-accessibility-proxy.js" name="MobileAccessibilityProxy"> + <merges target="" /> + </js-module> + + <config-file target="package.phone.appxmanifest" parent="/Package/Capabilities"> + <DeviceCapability Name="microphone" /> + </config-file> + + <config-file target="package.windows.appxmanifest" parent="/Package/Capabilities"> + <DeviceCapability Name="microphone" /> + </config-file> + + <config-file target="package.windows80.appxmanifest" parent="/Package/Capabilities"> + <DeviceCapability Name="microphone" /> + </config-file> + </platform> +</plugin> diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/AbstractMobileAccessibilityHelper.java b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/AbstractMobileAccessibilityHelper.java new file mode 100644 index 00000000..d76a951f --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/AbstractMobileAccessibilityHelper.java @@ -0,0 +1,41 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +package com.phonegap.plugin.mobileaccessibility; + +import android.view.ViewParent; + +abstract class AbstractMobileAccessibilityHelper { + MobileAccessibility mMobileAccessibility; + ViewParent mParent; + public abstract void initialize(MobileAccessibility mobileAccessibility); + public abstract boolean isClosedCaptioningEnabled(); + public abstract boolean isScreenReaderRunning(); + public abstract boolean isTouchExplorationEnabled(); + public abstract void onAccessibilityStateChanged(boolean enabled); + public abstract void onCaptioningEnabledChanged(boolean enabled); + public abstract void onTouchExplorationStateChanged(boolean enabled); + public abstract void addStateChangeListeners(); + public abstract void removeStateChangeListeners(); + public abstract void announceForAccessibility(CharSequence text); + public abstract double getTextZoom(); + public abstract void setTextZoom(double textZoom); +} diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/DonutMobileAccessibilityHelper.java b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/DonutMobileAccessibilityHelper.java new file mode 100644 index 00000000..e6972719 --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/DonutMobileAccessibilityHelper.java @@ -0,0 +1,187 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +package com.phonegap.plugin.mobileaccessibility; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build; +import android.view.accessibility.AccessibilityEvent; +import android.view.accessibility.AccessibilityManager; +import android.view.View; +import android.webkit.WebSettings; +import android.webkit.WebView; + +import java.lang.IllegalAccessException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +@TargetApi(Build.VERSION_CODES.DONUT) +public class DonutMobileAccessibilityHelper extends + AbstractMobileAccessibilityHelper { + AccessibilityManager mAccessibilityManager; + View mView; + + @Override + public void initialize(MobileAccessibility mobileAccessibility) { + mMobileAccessibility = mobileAccessibility; + WebView view; + try { + view = (WebView) mobileAccessibility.webView; + mView = view; + } catch(ClassCastException ce) { // cordova-android 4.0+ + try { + Method getView = mobileAccessibility.webView.getClass().getMethod("getView"); + mView = (View) getView.invoke(mobileAccessibility.webView); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + + mAccessibilityManager = (AccessibilityManager) mMobileAccessibility.cordova.getActivity().getSystemService(Context.ACCESSIBILITY_SERVICE); + } + + @Override + public boolean isClosedCaptioningEnabled() { + return false; + } + + @Override + public boolean isScreenReaderRunning() { + return mAccessibilityManager.isEnabled(); + } + + @Override + public boolean isTouchExplorationEnabled() { + return false; + } + + @Override + public void onAccessibilityStateChanged(boolean enabled) { + mMobileAccessibility.onAccessibilityStateChanged(enabled); + } + + @Override + public void onCaptioningEnabledChanged(boolean enabled) { + mMobileAccessibility.onCaptioningEnabledChanged(enabled); + } + + @Override + public void onTouchExplorationStateChanged(boolean enabled) { + mMobileAccessibility.onTouchExplorationStateChanged(enabled); + } + + @Override + public void addStateChangeListeners() { + } + + @Override + public void removeStateChangeListeners() { + } + + @Override + public void announceForAccessibility(CharSequence text) { + if (!mAccessibilityManager.isEnabled()) { + return; + } + + final int eventType = AccessibilityEvent.TYPE_VIEW_FOCUSED; + final AccessibilityEvent event = AccessibilityEvent.obtain(eventType); + event.getText().add(text); + event.setEnabled(mView.isEnabled()); + event.setClassName(mView.getClass().getName()); + event.setPackageName(mView.getContext().getPackageName()); + event.setContentDescription(null); + + mAccessibilityManager.sendAccessibilityEvent(event); + } + + @SuppressWarnings("deprecation") + @Override + public double getTextZoom() { + double zoom = 100; + WebSettings.TextSize wTextSize = WebSettings.TextSize.NORMAL; + + try { + Method getSettings = mView.getClass().getMethod("getSettings"); + Object wSettings = getSettings.invoke(mView); + Method getTextSize = wSettings.getClass().getMethod("getTextSize"); + wTextSize = (WebSettings.TextSize) getTextSize.invoke(wSettings); + } catch(ClassCastException ce) { + ce.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + + switch (wTextSize) { + case LARGEST: + zoom = 200; + break; + case LARGER: + zoom = 150; + break; + case SMALLER: + zoom = 75; + break; + case SMALLEST: + zoom = 50; + break; + } + + return zoom; + } + + @SuppressWarnings("deprecation") + @Override + public void setTextZoom(double textZoom) { + WebSettings.TextSize wTextSize = WebSettings.TextSize.SMALLEST; + if (textZoom > 115) { + wTextSize = WebSettings.TextSize.LARGEST; + } else if (textZoom > 100) { + wTextSize = WebSettings.TextSize.LARGER; + } else if (textZoom == 100) { + wTextSize = WebSettings.TextSize.NORMAL; + } else if (textZoom > 50) { + wTextSize = WebSettings.TextSize.SMALLER; + } + //Log.i("MobileAccessibility", "fontScale = " + zoom + ", WebSettings.TextSize = " + wTextSize.toString()); + try { + Method getSettings = mView.getClass().getMethod("getSettings"); + Object wSettings = getSettings.invoke(mView); + Method setTextSize = wSettings.getClass().getMethod("setTextSize", WebSettings.TextSize.class); + setTextSize.invoke(wSettings, wTextSize); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } +} diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/IceCreamSandwichMobileAccessibilityHelper.java b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/IceCreamSandwichMobileAccessibilityHelper.java new file mode 100644 index 00000000..f0cd252e --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/IceCreamSandwichMobileAccessibilityHelper.java @@ -0,0 +1,104 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +package com.phonegap.plugin.mobileaccessibility; + +import android.accessibilityservice.AccessibilityServiceInfo; +import android.annotation.TargetApi; +import android.os.Build; +import android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener; + +import java.lang.IllegalAccessException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) +public class IceCreamSandwichMobileAccessibilityHelper extends + DonutMobileAccessibilityHelper { + private AccessibilityStateChangeListener mAccessibilityStateChangeListener; + + @Override + public boolean isScreenReaderRunning() { + return mAccessibilityManager.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_SPOKEN).size() > 0; + } + + @Override + public void addStateChangeListeners() { + if (mAccessibilityStateChangeListener == null) { + mAccessibilityStateChangeListener = new InternalAccessibilityStateChangeListener(); + } + mAccessibilityManager.addAccessibilityStateChangeListener(mAccessibilityStateChangeListener); + } + + @Override + public void removeStateChangeListeners() { + mAccessibilityManager.removeAccessibilityStateChangeListener(mAccessibilityStateChangeListener); + mAccessibilityStateChangeListener = null; + } + + @Override + public double getTextZoom() { + double zoom = 100; + try { + Method getSettings = mView.getClass().getMethod("getSettings"); + Object wSettings = getSettings.invoke(mView); + Method getTextZoom = wSettings.getClass().getMethod("getTextZoom"); + zoom = Double.valueOf(getTextZoom.invoke(wSettings).toString()); + } catch (ClassCastException ce) { + ce.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return zoom; + } + + @Override + public void setTextZoom(double textZoom) { + //Log.i("MobileAccessibility", "setTextZoom(" + zoom + ")"); + try { + Method getSettings = mView.getClass().getMethod("getSettings"); + Object wSettings = getSettings.invoke(mView); + Method setTextZoom = wSettings.getClass().getMethod("setTextZoom", Integer.TYPE); + setTextZoom.invoke(wSettings, (int) textZoom); + } catch (ClassCastException ce) { + ce.printStackTrace(); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + + private class InternalAccessibilityStateChangeListener + implements AccessibilityStateChangeListener { + + @Override + public void onAccessibilityStateChanged(boolean enabled) { + mMobileAccessibility.onAccessibilityStateChanged(enabled); + } + } +} diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/JellyBeanMobileAccessibilityHelper.java b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/JellyBeanMobileAccessibilityHelper.java new file mode 100644 index 00000000..7c97d247 --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/JellyBeanMobileAccessibilityHelper.java @@ -0,0 +1,52 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +package com.phonegap.plugin.mobileaccessibility; + +import com.phonegap.plugin.mobileaccessibility.MobileAccessibility; + +import android.annotation.TargetApi; +import android.os.Build; +import android.view.accessibility.AccessibilityEvent; + +@TargetApi(Build.VERSION_CODES.JELLY_BEAN) +public class JellyBeanMobileAccessibilityHelper extends + IceCreamSandwichMobileAccessibilityHelper { + + @Override + public void initialize(MobileAccessibility mobileAccessibility) { + super.initialize(mobileAccessibility); + mParent = mView.getParentForAccessibility(); + } + + @Override + public void announceForAccessibility(CharSequence text) { + if (mAccessibilityManager.isEnabled() && mParent != null) { + mAccessibilityManager.interrupt(); + AccessibilityEvent event = AccessibilityEvent.obtain( + AccessibilityEvent.TYPE_ANNOUNCEMENT); + mView.onInitializeAccessibilityEvent(event); + event.getText().add(text); + event.setContentDescription(null); + mParent.requestSendAccessibilityEvent(mView, event); + } + } +} diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/KitKatMobileAccessibilityHelper.java b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/KitKatMobileAccessibilityHelper.java new file mode 100644 index 00000000..11d342cb --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/KitKatMobileAccessibilityHelper.java @@ -0,0 +1,99 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +package com.phonegap.plugin.mobileaccessibility; + +import android.accessibilityservice.AccessibilityServiceInfo; +import android.annotation.TargetApi; +import android.content.Context; +import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener; +import android.view.accessibility.CaptioningManager; +import android.view.accessibility.CaptioningManager.CaptioningChangeListener; + +@TargetApi(19) +public class KitKatMobileAccessibilityHelper extends + JellyBeanMobileAccessibilityHelper { + private CaptioningManager mCaptioningManager; + private CaptioningChangeListener mCaptioningChangeListener; + private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener; + + @Override + public void initialize(MobileAccessibility mobileAccessibility) { + super.initialize(mobileAccessibility); + mCaptioningManager = (CaptioningManager) mobileAccessibility.cordova.getActivity().getSystemService(Context.CAPTIONING_SERVICE); + } + + @Override + public boolean isScreenReaderRunning() { + return mAccessibilityManager.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_BRAILLE | AccessibilityServiceInfo.FEEDBACK_SPOKEN).size() > 0; + } + + @Override + public boolean isClosedCaptioningEnabled() { + return mCaptioningManager.isEnabled(); + } + + @Override + public boolean isTouchExplorationEnabled() { + return mAccessibilityManager.isTouchExplorationEnabled(); + } + + @Override + public void addStateChangeListeners() { + super.addStateChangeListeners(); + if (mCaptioningChangeListener == null) { + mCaptioningChangeListener = new CaptioningChangeListener() { + @Override + public void onEnabledChanged(boolean enabled) { + onCaptioningEnabledChanged(enabled); + } + }; + } + mCaptioningManager.addCaptioningChangeListener(mCaptioningChangeListener); + + if (mTouchExplorationStateChangeListener == null) { + mTouchExplorationStateChangeListener = new InternalTouchExplorationStateChangeListener(); + } + mAccessibilityManager.addTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener); + } + + @Override + public void removeStateChangeListeners() { + super.removeStateChangeListeners(); + if (mCaptioningChangeListener != null) { + mCaptioningManager.removeCaptioningChangeListener(mCaptioningChangeListener); + mCaptioningChangeListener = null; + } + if (mTouchExplorationStateChangeListener != null) { + mAccessibilityManager.removeTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener); + mTouchExplorationStateChangeListener = null; + } + } + + private class InternalTouchExplorationStateChangeListener + implements TouchExplorationStateChangeListener { + + @Override + public void onTouchExplorationStateChanged(boolean enabled) { + mMobileAccessibility.onTouchExplorationStateChanged(enabled); + } + } +} diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/MobileAccessibility.java b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/MobileAccessibility.java new file mode 100644 index 00000000..a979420e --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/android/com/phonegap/plugin/mobileaccessibility/MobileAccessibility.java @@ -0,0 +1,330 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +package com.phonegap.plugin.mobileaccessibility; + +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.CordovaWebView; +import org.apache.cordova.PluginResult; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import android.os.Build; +import android.webkit.WebView; + +import java.lang.IllegalAccessException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +/** + * This class provides information on the status of native accessibility services to JavaScript. + */ +public class MobileAccessibility extends CordovaPlugin { + private AbstractMobileAccessibilityHelper mMobileAccessibilityHelper; + private CallbackContext mCallbackContext = null; + private boolean mIsScreenReaderRunning = false; + private boolean mClosedCaptioningEnabled = false; + private boolean mTouchExplorationEnabled = false; + private boolean mCachedIsScreenReaderRunning = false; + private float mFontScale = 1; + + @Override + public void initialize(CordovaInterface cordova, CordovaWebView webView) { + super.initialize(cordova, webView); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + mMobileAccessibilityHelper = new KitKatMobileAccessibilityHelper(); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { + mMobileAccessibilityHelper = new JellyBeanMobileAccessibilityHelper(); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + mMobileAccessibilityHelper = new IceCreamSandwichMobileAccessibilityHelper(); + } else { + mMobileAccessibilityHelper = new DonutMobileAccessibilityHelper(); + } + mMobileAccessibilityHelper.initialize(this); + } + + @Override + public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { + try { + if (action.equals("isScreenReaderRunning")) { + isScreenReaderRunning(callbackContext); + return true; + } else if (action.equals("isClosedCaptioningEnabled")) { + isClosedCaptioningEnabled(callbackContext); + return true; + } else if (action.equals("isTouchExplorationEnabled")) { + isTouchExplorationEnabled(callbackContext); + return true; + } else if (action.equals("postNotification")) { + if (args.length() > 1) { + String string = args.getString(1); + if (!string.isEmpty()) { + announceForAccessibility(string, callbackContext); + } + } + return true; + } else if(action.equals("getTextZoom")) { + getTextZoom(callbackContext); + return true; + } else if(action.equals("setTextZoom")) { + if (args.length() > 0) { + double textZoom = args.getDouble(0); + if (textZoom > 0) { + setTextZoom(textZoom, callbackContext); + } + } + return true; + } else if(action.equals("updateTextZoom")) { + updateTextZoom(callbackContext); + return true; + } else if (action.equals("start")) { + start(callbackContext); + return true; + } else if (action.equals("stop")) { + stop(); + return true; + } + } catch (JSONException e) { + e.printStackTrace(); + callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION)); + } + return false; + } + + /** + * Called when the system is about to pause the current activity + * + * @param multitasking Flag indicating if multitasking is turned on for app + */ + @Override + public void onPause(boolean multitasking) { + //Log.i("MobileAccessibility", "onPause"); + mCachedIsScreenReaderRunning = mIsScreenReaderRunning; + } + + /** + * Called when the activity will start interacting with the user. + * + * @param multitasking Flag indicating if multitasking is turned on for app + */ + @Override + public void onResume(boolean multitasking) { + //Log.i("MobileAccessibility", "onResume"); + if (mIsScreenReaderRunning && !mCachedIsScreenReaderRunning) { + //Log.i("MobileAccessibility", "Reloading page on reload because the Accessibility State has changed."); + mCachedIsScreenReaderRunning = mIsScreenReaderRunning; + stop(); + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + WebView view; + try { + view = (WebView) webView; + view.reload(); + } catch(ClassCastException ce) { // cordova-android 4.0+ + try { // cordova-android 4.0+ + Method getView = webView.getClass().getMethod("getView"); + Method reload = getView.invoke(webView).getClass().getMethod("reload"); + reload.invoke(webView); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + } + }); + } + } + + /** + * The final call you receive before your activity is destroyed. + */ + public void onDestroy() { + stop(); + } + + private void isScreenReaderRunning(final CallbackContext callbackContext) { + mIsScreenReaderRunning = mMobileAccessibilityHelper.isScreenReaderRunning(); + cordova.getThreadPool().execute(new Runnable() { + public void run() { + callbackContext.success(mIsScreenReaderRunning ? 1 : 0); + } + }); + } + + protected boolean isScreenReaderRunning() { + mIsScreenReaderRunning = mMobileAccessibilityHelper.isScreenReaderRunning(); + return mIsScreenReaderRunning; + } + + private void isClosedCaptioningEnabled(final CallbackContext callbackContext) { + mClosedCaptioningEnabled = mMobileAccessibilityHelper.isClosedCaptioningEnabled(); + cordova.getThreadPool().execute(new Runnable() { + public void run() { + callbackContext.success(mClosedCaptioningEnabled ? 1 : 0); + } + }); + } + + protected boolean isClosedCaptioningEnabled() { + mClosedCaptioningEnabled = mMobileAccessibilityHelper.isClosedCaptioningEnabled(); + return mClosedCaptioningEnabled; + } + + private void isTouchExplorationEnabled(final CallbackContext callbackContext) { + mTouchExplorationEnabled= mMobileAccessibilityHelper.isTouchExplorationEnabled(); + cordova.getThreadPool().execute(new Runnable() { + public void run() { + callbackContext.success(mTouchExplorationEnabled ? 1 : 0); + } + }); + } + + protected boolean isTouchExplorationEnabled() { + mTouchExplorationEnabled = mMobileAccessibilityHelper.isTouchExplorationEnabled(); + return mTouchExplorationEnabled; + } + + private void announceForAccessibility(CharSequence text, final CallbackContext callbackContext) { + mMobileAccessibilityHelper.announceForAccessibility(text); + if (callbackContext != null) { + JSONObject info = new JSONObject(); + try { + info.put("stringValue", text); + info.put("wasSuccessful", mIsScreenReaderRunning); + } catch (JSONException e) { + e.printStackTrace(); + } + callbackContext.success(info); + } + } + + public void onAccessibilityStateChanged(boolean enabled) { + mIsScreenReaderRunning = enabled; + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + sendMobileAccessibilityStatusChangedCallback(); + } + }); + } + + public void onCaptioningEnabledChanged(boolean enabled) { + mClosedCaptioningEnabled = enabled; + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + sendMobileAccessibilityStatusChangedCallback(); + } + }); + } + + public void onTouchExplorationStateChanged(boolean enabled) { + mTouchExplorationEnabled = enabled; + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + sendMobileAccessibilityStatusChangedCallback(); + } + }); + } + + private void getTextZoom(final CallbackContext callbackContext) { + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + final double textZoom = mMobileAccessibilityHelper.getTextZoom(); + if (callbackContext != null) { + callbackContext.success((int) textZoom); + } + } + }); + } + + private void setTextZoom(final double textZoom, final CallbackContext callbackContext) { + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + mMobileAccessibilityHelper.setTextZoom(textZoom); + if (callbackContext != null) { + callbackContext.success((int) mMobileAccessibilityHelper.getTextZoom()); + } + } + }); + } + + public void setTextZoom(final double textZoom) { + cordova.getActivity().runOnUiThread(new Runnable() { + public void run() { + mMobileAccessibilityHelper.setTextZoom(textZoom); + } + }); + } + + private void updateTextZoom(final CallbackContext callbackContext) { + float fontScale = cordova.getActivity().getResources().getConfiguration().fontScale; + if (fontScale != mFontScale) { + mFontScale = fontScale; + } + final double textZoom = Math.round(mFontScale * 100); + setTextZoom(textZoom, callbackContext); + } + + private void sendMobileAccessibilityStatusChangedCallback() { + if (this.mCallbackContext != null) { + PluginResult result = new PluginResult(PluginResult.Status.OK, getMobileAccessibilityStatus()); + result.setKeepCallback(true); + this.mCallbackContext.sendPluginResult(result); + } + } + + /* Get the current mobile accessibility status. */ + private JSONObject getMobileAccessibilityStatus() { + JSONObject status = new JSONObject(); + try { + status.put("isScreenReaderRunning", mIsScreenReaderRunning); + status.put("isClosedCaptioningEnabled", mClosedCaptioningEnabled); + status.put("isTouchExplorationEnabled", mTouchExplorationEnabled); + //Log.i("MobileAccessibility", "MobileAccessibility.isScreenReaderRunning == " + status.getString("isScreenReaderRunning") + + // "\nMobileAccessibility.isClosedCaptioningEnabled == " + status.getString("isClosedCaptioningEnabled") + + // "\nMobileAccessibility.isTouchExplorationEnabled == " + status.getString("isTouchExplorationEnabled") ); + } catch (JSONException e) { + e.printStackTrace(); + } + return status; + } + + private void start(CallbackContext callbackContext) { + //Log.i("MobileAccessibility", "MobileAccessibility.start"); + mCallbackContext = callbackContext; + mMobileAccessibilityHelper.addStateChangeListeners(); + sendMobileAccessibilityStatusChangedCallback(); + } + + private void stop() { + //Log.i("MobileAccessibility", "MobileAccessibility.stop"); + if (mCallbackContext != null) { + sendMobileAccessibilityStatusChangedCallback(); + mMobileAccessibilityHelper.removeStateChangeListeners(); + mCallbackContext = null; + } + } +} diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/ios/CDVMobileAccessibility.h b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/ios/CDVMobileAccessibility.h new file mode 100644 index 00000000..662abbea --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/ios/CDVMobileAccessibility.h @@ -0,0 +1,82 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +#import <Cordova/CDVPlugin.h> + +static const int BASE_UI_FONT_TEXT_STYLE_BODY_POINT_SIZE = 16; + +@interface CDVMobileAccessibility : CDVPlugin { + NSString* callbackId; + NSString* commandCallbackId; + BOOL boldTextEnabled; + BOOL closedCaptioningEnabled; + BOOL darkerSystemColorsEnabled; + BOOL grayscaleEnabled; + BOOL guidedAccessEnabled; + BOOL invertColorsEnabled; + BOOL monoAudioEnabled; + BOOL reduceMotionEnabled; + BOOL reduceTransparencyEnabled; + BOOL speakScreenEnabled; + BOOL speakSelectionEnabled; + BOOL switchControlRunning; + BOOL voiceOverRunning; +} + +@property (strong) NSString* callbackId; +@property (strong) NSString* commandCallbackId; +@property BOOL boldTextEnabled; +@property BOOL closedCaptioningEnabled; +@property BOOL darkerSystemColorsEnabled; +@property BOOL grayscaleEnabled; +@property BOOL guidedAccessEnabled; +@property BOOL invertColorsEnabled; +@property BOOL monoAudioEnabled; +@property BOOL reduceMotionEnabled; +@property BOOL reduceTransparencyEnabled; +@property BOOL speakScreenEnabled; +@property BOOL speakSelectionEnabled; +@property BOOL switchControlRunning; +@property BOOL voiceOverRunning; +@property double mFontScale; + + +- (void) isBoldTextEnabled:(CDVInvokedUrlCommand*)command; +- (void) isClosedCaptioningEnabled:(CDVInvokedUrlCommand*)command; +- (void) isDarkerSystemColorsEnabled:(CDVInvokedUrlCommand*)command; +- (void) isGrayscaleEnabled:(CDVInvokedUrlCommand*)command; +- (void) isGuidedAccessEnabled:(CDVInvokedUrlCommand*)command; +- (void) isInvertColorsEnabled:(CDVInvokedUrlCommand*)command; +- (void) isMonoAudioEnabled:(CDVInvokedUrlCommand*)command; +- (void) isReduceMotionEnabled:(CDVInvokedUrlCommand*)command; +- (void) isReduceTransparencyEnabled:(CDVInvokedUrlCommand*)command; +- (void) isScreenReaderRunning:(CDVInvokedUrlCommand*)command; +- (void) isSpeakScreenEnabled:(CDVInvokedUrlCommand*)command; +- (void) isSpeakSelectionEnabled:(CDVInvokedUrlCommand*)command; +- (void) isSwitchControlRunning:(CDVInvokedUrlCommand*)command; +- (void) getTextZoom:(CDVInvokedUrlCommand*)command; +- (void) setTextZoom:(CDVInvokedUrlCommand*)command; +- (void) updateTextZoom:(CDVInvokedUrlCommand*)command; +- (void) postNotification:(CDVInvokedUrlCommand*)command; +- (void) start:(CDVInvokedUrlCommand*)command; +- (void) stop:(CDVInvokedUrlCommand*)command; + +@end
\ No newline at end of file diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/ios/CDVMobileAccessibility.m b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/ios/CDVMobileAccessibility.m new file mode 100644 index 00000000..ad8da029 --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/ios/CDVMobileAccessibility.m @@ -0,0 +1,511 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +#import "CDVMobileAccessibility.h" +#import <Cordova/CDVAvailability.h> +#import <MediaAccessibility/MediaAccessibility.h> + +@interface CDVMobileAccessibility () + // add any property overrides + -(double) mGetTextZoom; + -(void) mSetTextZoom:(double)zoom; +@end + +@implementation CDVMobileAccessibility + +@synthesize callbackId; +@synthesize commandCallbackId; +@synthesize boldTextEnabled; +@synthesize closedCaptioningEnabled; +@synthesize darkerSystemColorsEnabled; +@synthesize grayscaleEnabled; +@synthesize guidedAccessEnabled; +@synthesize invertColorsEnabled; +@synthesize monoAudioEnabled; +@synthesize reduceMotionEnabled; +@synthesize reduceTransparencyEnabled; +@synthesize speakScreenEnabled; +@synthesize speakSelectionEnabled; +@synthesize switchControlRunning; +@synthesize voiceOverRunning; +@synthesize mFontScale; + +#define iOS7Delta (([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0 ) ? 20 : 0 ) +#define iOS8Delta (([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0 ) ? 30 : 0 ) + +// ////////////////////////////////////////////////// + +- (id)settingForKey:(NSString*)key +{ + return [self.commandDelegate.settings objectForKey:[key lowercaseString]]; +} + +- (void)pluginInitialize +{ + // SETTINGS //////////////////////// + + NSString* setting = nil; + + setting = @"YourConfigXmlSettingHere"; + if ([self settingForKey:setting]) { + // set your setting, other init here + } + + mFontScale = 1; + + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onPause) name:UIApplicationDidEnterBackgroundNotification object:nil]; + +} + +// ////////////////////////////////////////////////// + +- (void)dealloc +{ + [self stop:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillEnterForegroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil]; +} + +- (void)onReset +{ + [self stop:nil]; +} + +- (void) onPause { + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onResume) name:UIApplicationWillEnterForegroundNotification object:nil]; +} + +- (void)onResume +{ + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillEnterForegroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onPause) name:UIApplicationDidEnterBackgroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onApplicationDidBecomeActive) name:UIApplicationDidBecomeActiveNotification object:nil]; +} + +- (void)onApplicationDidBecomeActive +{ + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil]; + [self performSelector:@selector(sendMobileAccessibilityStatusChangedCallback) withObject:nil afterDelay:0.1 ]; +} + +// ////////////////////////////////////////////////// + +#pragma Plugin interface + +- (void)isBoldTextEnabled:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + if (iOS8Delta) { + self.boldTextEnabled = UIAccessibilityIsBoldTextEnabled(); + } else { + self.boldTextEnabled = false; + } + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.boldTextEnabled]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isClosedCaptioningEnabled:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + self.closedCaptioningEnabled = [self getClosedCaptioningEnabledStatus]; + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.closedCaptioningEnabled]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isDarkerSystemColorsEnabled:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + if (iOS8Delta) { + self.darkerSystemColorsEnabled = UIAccessibilityDarkerSystemColorsEnabled(); + } else { + self.darkerSystemColorsEnabled = false; + } + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.darkerSystemColorsEnabled]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isGrayscaleEnabled:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + if (iOS8Delta) { + self.grayscaleEnabled = UIAccessibilityIsGrayscaleEnabled(); + } else { + self.grayscaleEnabled = false; + } + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.grayscaleEnabled]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isGuidedAccessEnabled:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + self.guidedAccessEnabled = UIAccessibilityIsGuidedAccessEnabled(); + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.guidedAccessEnabled]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isInvertColorsEnabled:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + self.invertColorsEnabled = UIAccessibilityIsInvertColorsEnabled(); + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.invertColorsEnabled]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isMonoAudioEnabled:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + self.monoAudioEnabled = UIAccessibilityIsMonoAudioEnabled(); + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.monoAudioEnabled]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isReduceMotionEnabled:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + if (iOS8Delta) { + self.reduceMotionEnabled = UIAccessibilityIsReduceMotionEnabled(); + } else { + self.reduceMotionEnabled = false; + } + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.reduceMotionEnabled]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isReduceTransparencyEnabled:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + if (iOS8Delta) { + self.reduceTransparencyEnabled = UIAccessibilityIsReduceTransparencyEnabled(); + } else { + self.reduceTransparencyEnabled = false; + } + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.reduceTransparencyEnabled]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isScreenReaderRunning:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + self.voiceOverRunning = UIAccessibilityIsVoiceOverRunning(); + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.voiceOverRunning]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isSpeakScreenEnabled:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + if (iOS8Delta) { + self.speakScreenEnabled = UIAccessibilityIsSpeakScreenEnabled(); + } else { + self.speakScreenEnabled = false; + } + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.speakScreenEnabled]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isSpeakSelectionEnabled:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + if (iOS8Delta) { + self.speakSelectionEnabled = UIAccessibilityIsSpeakSelectionEnabled(); + } else { + self.speakSelectionEnabled = false; + } + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.speakSelectionEnabled]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +- (void)isSwitchControlRunning:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + if (iOS8Delta) { + self.switchControlRunning = UIAccessibilityIsSwitchControlRunning(); + } else { + self.switchControlRunning = false; + } + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:self.switchControlRunning]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +-(double) mGetFontScale +{ + double fontScale = 1; + if (iOS7Delta) { + fontScale = [[UIFont preferredFontForTextStyle:UIFontTextStyleBody] pointSize] / BASE_UI_FONT_TEXT_STYLE_BODY_POINT_SIZE; + } + return fontScale; +} + +-(double) mGetTextZoom +{ + double zoom = round(mFontScale * 100); + // NSLog(@"mGetTextZoom %f%%", zoom); + return zoom; +} + +- (void) getTextZoom:(CDVInvokedUrlCommand *)command +{ + double zoom = [self mGetTextZoom]; + [self.commandDelegate runInBackground:^{ + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDouble: zoom]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; +} + +-(void) mSetTextZoom:(double)zoom +{ + // NSLog(@"mSetTextZoom %f%%'", zoom); + mFontScale = zoom/100; + if (iOS7Delta) { + NSString *jsString = [[NSString alloc] initWithFormat:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '%f%%'", zoom]; + [self.commandDelegate evalJs:jsString]; + } +} + +- (void) setTextZoom:(CDVInvokedUrlCommand *)command +{ + if (command != nil && [command.arguments count] > 0) { + double zoom = [[command.arguments objectAtIndex:0] doubleValue]; + [self mSetTextZoom:zoom]; + + [self.commandDelegate runInBackground:^{ + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDouble:zoom]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; + } +} + +- (void)updateTextZoom:(CDVInvokedUrlCommand *)command +{ + float fontScale = [self mGetFontScale]; + if (fontScale != mFontScale) { + mFontScale = fontScale; + } + double zoom = [self mGetTextZoom]; + // NSLog(@"updateTextZoom %d%%'", zoom); + [self mSetTextZoom:zoom]; + + if (command != nil && command.callbackId != nil) { + [self.commandDelegate runInBackground:^{ + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDouble:zoom]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + }]; + } +} + +- (void)postNotification:(CDVInvokedUrlCommand *)command +{ + CDVPluginResult* result = nil; + uint32_t notificationType = [[command.arguments objectAtIndex:0] intValue]; + NSString* notificationString = [command.arguments count] > 1 ? [command.arguments objectAtIndex:1] : @""; + + if (notificationString == nil) { + notificationString = @""; + } + if (UIAccessibilityIsVoiceOverRunning() && + [self isValidNotificationType:notificationType]) { + [self.commandDelegate runInBackground:^{ + if (notificationType == UIAccessibilityAnnouncementNotification) { + self.commandCallbackId = command.callbackId; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityAnnouncementDidFinish:) name:UIAccessibilityAnnouncementDidFinishNotification object:nil]; + } + + UIAccessibilityPostNotification(notificationType, notificationString); + + if (notificationType != UIAccessibilityAnnouncementNotification) { + NSMutableDictionary* data = [NSMutableDictionary dictionaryWithCapacity:2]; + [data setObject:notificationString forKey:@"stringValue"]; + [data setObject:@"true" forKey:@"wasSuccessful"]; + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:data]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + } + }]; + } else { + result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR]; + [self.commandDelegate sendPluginResult:result callbackId:command.callbackId]; + } +} + +- (BOOL)isValidNotificationType:(uint32_t)notificationType +{ + return (notificationType == UIAccessibilityScreenChangedNotification + || notificationType == UIAccessibilityLayoutChangedNotification + || notificationType == UIAccessibilityAnnouncementNotification + || notificationType == UIAccessibilityPageScrolledNotification); +} + +- (void)mobileAccessibilityAnnouncementDidFinish:(NSNotification *)dict +{ + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityAnnouncementDidFinishNotification object:nil]; + + NSString* valueSpoken = [[dict userInfo] objectForKey:UIAccessibilityAnnouncementKeyStringValue]; + NSString* wasSuccessful = [[dict userInfo] objectForKey:UIAccessibilityAnnouncementKeyWasSuccessful]; + + NSMutableDictionary* data = [NSMutableDictionary dictionaryWithCapacity:2]; + [data setObject:valueSpoken forKey:@"stringValue"]; + [data setObject:wasSuccessful forKey:@"wasSuccessful"]; + + if (self.commandCallbackId) { + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:data]; + [self.commandDelegate sendPluginResult:result callbackId:self.commandCallbackId]; + self.commandCallbackId = nil; + } +} + +- (BOOL)getClosedCaptioningEnabledStatus +{ + BOOL status = false; + if (&MACaptionAppearanceGetDisplayType) { + status = (MACaptionAppearanceGetDisplayType(kMACaptionAppearanceDomainUser) > kMACaptionAppearanceDisplayTypeAutomatic); + } else { + status = UIAccessibilityIsClosedCaptioningEnabled(); + } + return status; +} + +- (void)mobileAccessibilityStatusChanged:(NSNotification *)notification +{ + [self sendMobileAccessibilityStatusChangedCallback]; +} + +- (void)sendMobileAccessibilityStatusChangedCallback +{ + if (self.callbackId) { + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:[self getMobileAccessibilityStatus]]; + [result setKeepCallbackAsBool:YES]; + [self.commandDelegate sendPluginResult:result callbackId:self.callbackId]; + } +} + +/* Get the current mobile accessibility status. */ +- (NSDictionary*)getMobileAccessibilityStatus +{ + self.boldTextEnabled = UIAccessibilityIsBoldTextEnabled(); + self.closedCaptioningEnabled = [self getClosedCaptioningEnabledStatus]; + self.darkerSystemColorsEnabled = UIAccessibilityDarkerSystemColorsEnabled(); + self.grayscaleEnabled = UIAccessibilityIsGrayscaleEnabled(); + self.guidedAccessEnabled = UIAccessibilityIsGuidedAccessEnabled(); + self.invertColorsEnabled = UIAccessibilityIsInvertColorsEnabled(); + self.monoAudioEnabled = UIAccessibilityIsMonoAudioEnabled(); + self.reduceMotionEnabled = UIAccessibilityIsReduceMotionEnabled(); + self.reduceTransparencyEnabled = UIAccessibilityIsReduceTransparencyEnabled(); + self.speakScreenEnabled = UIAccessibilityIsSpeakScreenEnabled(); + self.speakSelectionEnabled = UIAccessibilityIsSpeakSelectionEnabled(); + self.switchControlRunning = UIAccessibilityIsSwitchControlRunning(); + self.voiceOverRunning = UIAccessibilityIsVoiceOverRunning(); + + NSMutableDictionary* mobileAccessibilityData = [NSMutableDictionary dictionaryWithCapacity:5]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.boldTextEnabled] forKey:@"isBoldTextEnabled"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.closedCaptioningEnabled] forKey:@"isClosedCaptioningEnabled"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.darkerSystemColorsEnabled] forKey:@"isDarkerSystemColorsEnabled"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.grayscaleEnabled] forKey:@"isGrayscaleEnabled"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.guidedAccessEnabled] forKey:@"isGuidedAccessEnabled"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.invertColorsEnabled] forKey:@"isInvertColorsEnabled"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.monoAudioEnabled] forKey:@"isMonoAudioEnabled"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.reduceMotionEnabled] forKey:@"isReduceMotionEnabled"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.reduceTransparencyEnabled] forKey:@"isReduceTransparencyEnabled"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.speakScreenEnabled] forKey:@"isSpeakScreenEnabled"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.speakSelectionEnabled] forKey:@"isSpeakSelectionEnabled"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.switchControlRunning] forKey:@"isSwitchControlRunning"]; + [mobileAccessibilityData setObject:[NSNumber numberWithBool:self.voiceOverRunning] forKey:@"isScreenReaderRunning"]; + return mobileAccessibilityData; +} + + +/* start MobileAccessibility monitoring */ +- (void)start:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + self.callbackId = command.callbackId; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilityClosedCaptioningStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilityGuidedAccessStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilityInvertColorsStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilityMonoAudioStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilityVoiceOverStatusChanged object:nil]; + + if (iOS8Delta) { + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilityBoldTextStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilityDarkerSystemColorsStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilityGrayscaleStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilityReduceMotionStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilityReduceTransparencyStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilitySpeakScreenStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilitySpeakSelectionStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mobileAccessibilityStatusChanged:) name:UIAccessibilitySwitchControlStatusDidChangeNotification object:nil]; + } + + // Update the callback on start + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:[self getMobileAccessibilityStatus]]; + [result setKeepCallbackAsBool:YES]; + [self.commandDelegate sendPluginResult:result callbackId:self.callbackId]; + }]; +} + +/* stop MobileAccessibility monitoring */ +- (void)stop:(CDVInvokedUrlCommand*)command +{ + [self.commandDelegate runInBackground:^{ + // callback one last time to clear the callback function on JS side + if (self.callbackId) + { + CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:[self getMobileAccessibilityStatus]]; + [result setKeepCallbackAsBool:NO]; + [self.commandDelegate sendPluginResult:result callbackId:self.callbackId]; + } + self.callbackId = nil; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityClosedCaptioningStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityGuidedAccessStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityInvertColorsStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityAnnouncementDidFinishNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityMonoAudioStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityVoiceOverStatusChanged object:nil]; + + if (iOS8Delta) { + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityBoldTextStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityDarkerSystemColorsStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityGrayscaleStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityReduceMotionStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilityReduceTransparencyStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilitySpeakScreenStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilitySpeakSelectionStatusDidChangeNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIAccessibilitySwitchControlStatusDidChangeNotification object:nil]; + } + }]; +} + +@end diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/windows/mobile-accessibility-proxy.js b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/windows/mobile-accessibility-proxy.js new file mode 100644 index 00000000..166c3e5e --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/src/windows/mobile-accessibility-proxy.js @@ -0,0 +1,261 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/*global Windows:true*/ + +var cordova = require('cordova'), + accessibilitySettings, + uiSettings, + callbackContext, + fontScale = 1, + styleElement, + bodyStyleDeclaration, + audio, + synth; + +function getAccessibilitySettings() { + if (!accessibilitySettings) { + accessibilitySettings = new Windows.UI.ViewManagement.AccessibilitySettings(); + } + return accessibilitySettings; +} + +function getUISettings() { + if (!uiSettings) { + uiSettings = new Windows.UI.ViewManagement.UISettings(); + } + return uiSettings; +} + +function getFontScale() { + if (!uiSettings) { + uiSettings = getUISettings(); + } + var scale = uiSettings.textScaleFactor; + // console.log("getFontScale " + scale); + return scale; +} + +function getTextZoom() { + var zoom = Math.round(fontScale * 100); + // console.log("getTextZoom " + zoom); + return zoom; +} + +function createStyleElement() { + if (!styleElement) { + styleElement = document.createElement("style"); + styleElement.type = "text/css"; + document.head.appendChild(styleElement); + } +} + +function setTextZoom(zoom) { + // console.log("setTextZoom " + zoom); + fontScale = zoom/100; + + createStyleElement(); + + if (bodyStyleDeclaration) { + styleElement.removeChild(bodyStyleDeclaration); + } + + bodyStyleDeclaration = document.createTextNode("body {-ms-text-size-adjust: " + zoom + "%}"); + + styleElement.appendChild(bodyStyleDeclaration); +} + +function onHighContrastChanged(event) { + cordova.fireWindowEvent(MobileAccessibilityNotifications.HIGH_CONTRAST_CHANGED, + getMobileAccessibilityStatus()); + sendMobileAccessibilityStatusChangedCallback(); +} + +function sendMobileAccessibilityStatusChangedCallback() { + console.log("sendMobileAccessibilityStatusChangedCallback"); + if (callbackContext && typeof callbackContext === "function") { + callbackContext(getMobileAccessibilityStatus()); + } +} + +function getMobileAccessibilityStatus() { + return { + isScreenReaderRunning: false, + isClosedCaptioningEnabled: false, + isHighContrastEnabled: accessibilitySettings.highContrast, + highContrastScheme: (accessibilitySettings.highContrast ? accessibilitySettings.highContrastScheme : undefined) + }; +} + +module.exports = { + start:function(win, fail, args) { + if (typeof win === "function") { + callbackContext = win; + } + if (!accessibilitySettings) { + accessibilitySettings = getAccessibilitySettings(); + } + accessibilitySettings.addEventListener("highcontrastchanged", onHighContrastChanged); + + if (!uiSettings) { + uiSettings = getUISettings(); + } + }, + stop:function(win, fail, args) { + if (accessibilitySettings) { + accessibilitySettings.removeEventListener("highcontrastchanged", onHighContrastChanged); + } + + if (synth) { + synth.close(); + synth = null; + } + + if (audio) { + audio = null; + } + + if (callbackContext) { + callbackContext = null; + } + }, + isScreenReaderRunning:function(win, fail, args) { + console && console.error && console.error("Error : Windows 8.1 does not yet have a way to detect that Narrator is running."); + fail && setTimeout(function() { + fail(new Error("Windows Phone 8.1 does not yet have a way to detect that Narrator is running.")); + }, 0); + if (win && typeof win === "function") { + win(false); + } + }, + isClosedCaptioningEnabled:function(win, fail, args) { + console && console.error && console.error("Error : MobileAccessibility.isClosedCaptioningEnabled is not yet implemented on Windows 8.1."); + fail && setTimeout(function() { + fail(new Error("MobileAccessibility.isClosedCaptioningEnabled is not yet implemented on Windows 8.1.")); + }, 0); + if (win && typeof win === "function") { + win(false); + } + }, + isHighContrastEnabled:function(win, fail, args) { + if (!accessibilitySettings) { + accessibilitySettings = getAccessibilitySettings(); + } + + if (win && typeof win === "function") { + win(accessibilitySettings.highContrast); + } + return accessibilitySettings.highContrast; + }, + getHighContrastScheme:function(win, fail, args) { + if (!accessibilitySettings) { + accessibilitySettings = getAccessibilitySettings(); + } + + var highContrastScheme = accessibilitySettings.highContrast ? accessibilitySettings.highContrastScheme : undefined; + + if (win) { + win(highContrastScheme); + } + return highContrastScheme; + }, + getTextZoom:function(win, fail, args) { + var zoom = Math.round(fontScale * 100); + + if (win) { + win(zoom); + } + + return zoom; + }, + setTextZoom:function(win, fail, args) { + var zoom = args[0]; + setTextZoom(args[0]); + + if (win) { + win(zoom); + } + + return zoom; + }, + updateTextZoom:function(win, fail, args) { + var scale = getFontScale(), + zoom; + if (scale !== fontScale) { + fontScale = scale; + } + zoom = getTextZoom(); + setTextZoom(zoom); + + if (win) { + win(zoom); + } + + return zoom; + }, + postNotification:function(win, fail, args) { + var str = args[1]; + + if (str && typeof str === "string") { + // The object for controlling and playing audio. + if (!audio) { + audio = new Audio(); + } else if (audio.pause) { + audio.pause(); + audio.src = null; + } + + // The object for controlling the speech synthesis engine (voice). + if (!synth) { + synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer(); + } + + if (str && str.length && str !== "\u200b") { + + // Generate the audio stream from plain text. + synth.synthesizeTextToStreamAsync(str).then(function (markersStream) { + + // Convert the stream to a URL Blob. + var blob = MSApp.createBlobFromRandomAccessStream(markersStream.contentType, markersStream); + // Send the Blob to the audio object. + audio.src = URL.createObjectURL(blob, { oneTimeOnly: true }); + // Start at beginning when speak is hit + markersStream.seek(0); + audio.AutoPlay = Boolean(true); + + // Audio on completed + audio.onended = function () { + if (win) { + win({ + stringValue: str, + wasSuccessful: true + }); + } + }; + + audio.play(); + }); + } + } + } +}; + +require("cordova/exec/proxy").add("MobileAccessibility", module.exports); diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/MobileAccessibilityNotifications.js b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/MobileAccessibilityNotifications.js new file mode 100644 index 00000000..6972902a --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/MobileAccessibilityNotifications.js @@ -0,0 +1,50 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/** + * Mobile Accessibility Notification event constants + */ +module.exports = { + /* MobileAccessibility window events */ + SCREEN_READER_STATUS_CHANGED : "screenreaderstatuschanged", + CLOSED_CAPTIONING_STATUS_CHANGED : "closedcaptioningstatuschanged", + GUIDED_ACCESS_STATUS_CHANGED : "guidedaccessstatuschanged", + INVERT_COLORS_STATUS_CHANGED : "invertcolorsstatuschanged", + MONO_AUDIO_STATUS_CHANGED : "monoaudiostatuschanged", + REDUCE_MOTION_STATUS_CHANGED : "reducemotionstatuschanged", + TOUCH_EXPLORATION_STATUS_CHANGED : "touchexplorationstatechanged", + BOLD_TEXT_STATUS_CHANGED : "boldtextstatuschanged", + DARKER_SYSTEM_COLORS_STATUS_CHANGED : "darkersystemcolorsstatuschanged", + GRAYSCALE_STATUS_CHANGED : "grayscalestatuschanged", + REDUCE_TRANSPARENCY_STATUS_CHANGED : "reducetransparencystatuschanged", + SPEAK_SCREEN_STATUS_CHANGED : "speakscreenstatuschanged", + SPEAK_SELECTION_STATUS_CHANGED : "speakselectionstatuschanged", + SWITCH_CONTROL_STATUS_CHANGED : "switchcontrolstatuschanged", + + /* iOS specific UIAccessibilityNotifications */ + SCREEN_CHANGED : 1000, + LAYOUT_CHANGED : 1001, + ANNOUNCEMENT : 1008, + PAGE_SCROLLED : 1009, + + /* Windows specific high contrast event */ + HIGH_CONTRAST_CHANGED : "highcontrastchanged" +}; diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/android/AndroidVox_v1.js b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/android/AndroidVox_v1.js new file mode 100644 index 00000000..8229b168 --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/android/AndroidVox_v1.js @@ -0,0 +1,1778 @@ +// Copyright 2013 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +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.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}; +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":"Ctrl+Meta";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.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){Error.captureStackTrace?Error.captureStackTrace(this,goog.debug.Error):this.stack=Error().stack||"";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_,"&").replace(goog.string.ltRe_,"<").replace(goog.string.gtRe_,">").replace(goog.string.quotRe_,""");if(!goog.string.allRe_.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(goog.string.amperRe_,"&"));-1!=a.indexOf("<")&&(a=a.replace(goog.string.ltRe_,"<"));-1!=a.indexOf(">")&&(a=a.replace(goog.string.gtRe_,">"));-1!=a.indexOf('"')&&(a=a.replace(goog.string.quotRe_,"""));return a}; +goog.string.amperRe_=/&/g;goog.string.ltRe_=/</g;goog.string.gtRe_=/>/g;goog.string.quotRe_=/\"/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={"&":"&","<":"<",">":">",""":'"'},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,"  "),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.peek=function(a){return a[a.length-1]};goog.array.ARRAY_PROTOTYPE_=Array.prototype; +goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&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.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.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.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.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.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.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.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.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){goog.asserts.assert(null!=a.length);goog.array.ARRAY_PROTOTYPE_.sort.call(a,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.compare=function(a,b,c){return goog.array.equals(a,b,c)}; +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_ar_EG=goog.i18n.CompactNumberFormatSymbols_ar; +goog.i18n.CompactNumberFormatSymbols_bg={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u0425"},1E4:{other:"00\u00a0\u0425"},1E5:{other:"000\u00a0\u0425"},1E6:{other:"0\u00a0\u041c"},1E7:{other:"00\u00a0\u041c"},1E8:{other:"000\u00a0\u041c"},1E9:{other:"0\u00a0\u0411"},1E10:{other:"00\u00a0\u0411"},1E11:{other:"000\u00a0\u0411"},1E12:{other:"0\u00a0\u0422"},1E13:{other:"00\u00a0\u0422"},1E14:{other:"000\u00a0\u0422"}},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:"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 \u09b9\u09be\u099c\u09be\u09b0"},1E4:{other:"00 \u09b9\u09be\u099c\u09be\u09b0"},1E5:{other:"000 \u09b9\u09be\u099c\u09be\u09b0"},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:"0\u00a0K"},1E4:{other:"00\u00a0K"},1E5:{other:"000\u00a0K"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0000\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 milions"},1E7:{other:"00 milions"}, +1E8:{other:"000 milions"},1E9:{other:"0 miliards"},1E10:{other:"00 miliards"},1E11:{other:"000 miliards"},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_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"},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"},1E4:{other:"0"},1E5:{other:"0"},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_de={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0"},1E4:{other:"0"},1E5:{other:"0"},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"},1E4:{other:"0"},1E5:{other:"0"},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"},1E4:{other:"0"},1E5:{other:"0"},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\u03c2"},1E10:{other:"00\u00a0\u03b4\u03b9\u03c2"},1E11:{other:"000\u00a0\u03b4\u03b9\u03c2"},1E12:{other:"0\u00a0\u03c4\u03c1\u03b9\u03c2"},1E13:{other:"00\u00a0\u03c4\u03c1\u03b9\u03c2"}, +1E14:{other:"000\u00a0\u03c4\u03c1\u03b9\u03c2"}},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_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_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_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_es={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:"0000\u00a0M"},1E10:{other:"00\u00a0K\u00a0M"},1E11:{other:"000\u00a0K\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 millardos"},1E10:{other:"00 millardos"},1E11:{other:"000 millardos"},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 millardos"},1E10:{other:"00 millardos"},1E11:{other:"000 millardos"},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:"0"},1E4:{other:"0"},1E5:{other:"0"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0000\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"},1E4:{other:"0"},1E5:{other:"0"},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 (na) libo"},1E4:{other:"00 (na) libo"},1E5:{other:"000 (na) libo"},1E6:{other:"0 (na) milyon"},1E7:{other:"00 (na) milyon"},1E8:{other:"000 (na) milyon"},1E9:{other:"0 (na) bilyon"}, +1E10:{other:"00 (na) bilyon"},1E11:{other:"000 (na) bilyon"},1E12:{other:"0 (na) trilyon"},1E13:{other:"00 (na) trilyon"},1E14:{other:"000 (na) 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_RE=goog.i18n.CompactNumberFormatSymbols_fr;goog.i18n.CompactNumberFormatSymbols_fr_YT=goog.i18n.CompactNumberFormatSymbols_fr; +goog.i18n.CompactNumberFormatSymbols_gl={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:"0000\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_gu={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 \u0ab9\u0a9c\u0abe\u0ab0"},1E4:{other:"00 \u0ab9\u0a9c\u0abe\u0ab0"},1E5:{other:"000 \u0ab9\u0a9c\u0abe\u0ab0"},1E6:{other:"0 \u0aae\u0abf\u0ab2\u0abf\u0aaf\u0aa8"}, +1E7:{other:"00 \u0aae\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E8:{other:"000 \u0aae\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E9:{other:"0 \u0aac\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E10:{other:"00 \u0aac\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E11:{other:"000 \u0aac\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E12:{other:"0 \u0a9f\u0acd\u0ab0\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E13:{other:"00 \u0a9f\u0acd\u0ab0\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E14:{other:"000 \u0a9f\u0acd\u0ab0\u0abf\u0ab2\u0abf\u0aaf\u0aa8"}}}; +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"},1E4:{other:"0"},1E5:{other:"0"},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"},1E4:{other:"0"},1E5:{other:"0"},1E6:{other:"0 milijuna"},1E7:{other:"00 milijuna"},1E8:{other:"000 milijuna"}, +1E9:{other:"0 milijarda"},1E10:{other:"00 milijarda"},1E11:{other:"000 milijarda"},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:"0"},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:"0"},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\u00a0K"},1E4:{other:"00\u00a0K"},1E5:{other:"000\u00a0K"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0\u00a0G"},1E10:{other:"00\u00a0G"},1E11:{other:"000\u00a0G"},1E12:{other:"0\u00a0T"},1E13:{other:"00\u00a0T"},1E14:{other:"000\u00a0T"}},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\u00a0md"},1E10:{other:"00\u00a0md"},1E11:{other:"000\u00a0md"},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 trilj."},1E13:{other:"00 trilj."},1E14:{other:"000 trilj."}}};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 \u0926\u0939\u093e \u0916\u0930\u092c"},1E13:{other:"00 \u0926\u0939\u093e \u0916\u0930\u092c"},1E14:{other:"000 \u0926\u0939\u093e \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"},1E4:{other:"0"},1E5:{other:"0"},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_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"},1E4:{other:"0"},1E5:{other:"0"},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\u00a0T"},1E13:{other:"00\u00a0T"},1E14:{other:"000\u00a0T"}},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:"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_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:"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 \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:"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 \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 (na) libo"},1E4:{other:"00 (na) libo"},1E5:{other:"000 (na) libo"},1E6:{other:"0 (na) milyon"},1E7:{other:"00 (na) milyon"},1E8:{other:"000 (na) milyon"},1E9:{other:"0 (na) bilyon"}, +1E10:{other:"00 (na) bilyon"},1E11:{other:"000 (na) bilyon"},1E12:{other:"0 (na) trilyon"},1E13:{other:"00 (na) trilyon"},1E14:{other:"000 (na) 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:"000\u00a0\u06a9\u06be\u0631\u0628"},1E14:{other:"0000\u00a0\u06a9\u06be\u0631\u0628"}}};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"},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\u4e07\u4ebf"},1E13:{other:"00\u4e07\u4ebf"},1E14:{other:"000\u4e07\u4ebf"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0"},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\u4e07\u4ebf"},1E13:{other:"00\u4e07\u4ebf"},1E14:{other:"000\u4e07\u4ebf"}}};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:"0G"},1E10:{other:"00G"},1E11:{other:"000G"},1E12:{other:"0T"},1E13:{other:"00\u5146"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0"},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:"0G"},1E10:{other:"00G"},1E11:{other:"000G"},1E12:{other:"0T"},1E13:{other:"00\u5146"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0"},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;if("ar_EG"==goog.LOCALE||"ar-EG"==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;"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;"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_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_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_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;"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_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;"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;"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;(\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;(\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:"+",MINUS_SIGN:"-",EXP_SYMBOL:"\u0627\u0633",PERMILL:"\u0609",INFINITY:"\u221e",NAN:"\u0644\u064a\u0633\u00a0\u0631\u0642\u0645",DECIMAL_PATTERN:"#0.###;#0.###-",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4\u00a0#0.00;\u00a4\u00a0#0.00-",DEF_CURRENCY_CODE:"EGP"};goog.i18n.NumberFormatSymbols_ar_001=goog.i18n.NumberFormatSymbols_ar; +goog.i18n.NumberFormatSymbols_ar_EG=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:"\u00a4#,##0.00;(\u00a4#,##0.00)",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_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;(\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_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;(\u00a4#,##0.00)",DEF_CURRENCY_CODE:"USD"};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;(\u00a4#,##0.00)",DEF_CURRENCY_CODE:"AUD"};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;(\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_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;(\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;(\u00a4#,##0.00)",DEF_CURRENCY_CODE:"ZAR"}; +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:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4;(#,##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;(#,##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:"+",MINUS_SIGN:"\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;\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:"-",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;(\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;(#,##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;(#,##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_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;(\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_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;(\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;(\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:"+",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:"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\u00a0#,##,##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:"\u00a4#,##0.00;(\u00a4#,##0.00)",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:"\u00a4\u00a0#,##0.00",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:"+",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:"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;(\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:"\u2013",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:"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:"LVL"};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;(\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;(\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:"-",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_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:"-",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;(#,##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;(\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:"\u00a4#,##0.00",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;(\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;(\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;(\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;(\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;(#,##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:"+",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:"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#,##0.00;(\u00a4#,##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;(\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;(\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;if("ar_EG"==goog.LOCALE||"ar-EG"==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;"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;"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_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_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_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;"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_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;"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;"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}; +goog.i18n.NumberFormat.prototype.setMaximumFractionDigits=function(a){this.maximumFractionDigits_=a};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}; +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.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.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.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.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.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.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.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.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.zuSelect_=function(a){return 1==a?goog.i18n.ordinalRules.Keyword.ONE:a==(a|0)&&2<=a&&9>=a?goog.i18n.ordinalRules.Keyword.FEW:a==(a|0)&&(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.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_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_);"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.defaultSelect_);"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.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:a==(a|0)&&3<=a%100&&10>=a%100?goog.i18n.pluralRules.Keyword.FEW:a==(a|0)&&11<=a%100&&99>=a%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.heSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:2==a?goog.i18n.pluralRules.Keyword.TWO:0!=a&&0==a%10?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.enSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.filSelect_=function(a){return 0==a||1==a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.frSelect_=function(a){return 0<=a&&2>=a&&2!=a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.lvSelect_=function(a){return 0==a?goog.i18n.pluralRules.Keyword.ZERO:1==a%10&&11!=a%100?goog.i18n.pluralRules.Keyword.ONE: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.gaSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:2==a?goog.i18n.pluralRules.Keyword.TWO:a==(a|0)&&3<=a&&6>=a?goog.i18n.pluralRules.Keyword.FEW:a==(a|0)&&7<=a&&10>=a?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.roSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:0==a||1!=a&&a==(a|0)&&1<=a%100&&19>=a%100?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.ltSelect_=function(a){return 1==a%10&&(11>a%100||19<a%100)?goog.i18n.pluralRules.Keyword.ONE:a==(a|0)&&2<=a%10&&9>=a%10&&(11>a%100||19<a%100)?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.beSelect_=function(a){return 1==a%10&&11!=a%100?goog.i18n.pluralRules.Keyword.ONE:a==(a|0)&&2<=a%10&&4>=a%10&&(12>a%100||14<a%100)?goog.i18n.pluralRules.Keyword.FEW:0==a%10||a==(a|0)&&5<=a%10&&9>=a%10||a==(a|0)&&11<=a%100&&14>=a%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.csSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:a==(a|0)&&2<=a&&4>=a?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.plSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:a==(a|0)&&2<=a%10&&4>=a%10&&(12>a%100||14<a%100)?goog.i18n.pluralRules.Keyword.FEW:1!=a&&(0==a%10||1==a%10)||a==(a|0)&&5<=a%10&&9>=a%10||a==(a|0)&&12<=a%100&&14>=a%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.slSelect_=function(a){return 1==a%100?goog.i18n.pluralRules.Keyword.ONE:2==a%100?goog.i18n.pluralRules.Keyword.TWO:3==a%100||4==a%100?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.mtSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:0==a||a==(a|0)&&2<=a%100&&10>=a%100?goog.i18n.pluralRules.Keyword.FEW:a==(a|0)&&11<=a%100&&19>=a%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.mkSelect_=function(a){return 1==a%10&&11!=a?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.lagSelect_=function(a){return 0==a?goog.i18n.pluralRules.Keyword.ZERO:0<=a&&2>=a&&0!=a&&2!=a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.shiSelect_=function(a){return 0<=a&&1>=a?goog.i18n.pluralRules.Keyword.ONE:a==(a|0)&&2<=a&&10>=a?goog.i18n.pluralRules.Keyword.FEW: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.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.tzmSelect_=function(a){return 0==a||1==a||a==(a|0)&&11<=a&&99>=a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.gvSelect_=function(a){return 1==a%10||2==a%10||0==a%20?goog.i18n.pluralRules.Keyword.ONE: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:a==(a|0)&&(3<=a&&10>=a||13<=a&&19>=a)?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;"af"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"am"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.filSelect_); +"ar"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.arSelect_);"bg"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"bn"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"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.enSelect_); +"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.enSelect_);"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.enSelect_);"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_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.enSelect_);if("es_419"==goog.LOCALE||"es-419"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;if("es_ES"==goog.LOCALE||"es-ES"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;"et"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_); +"eu"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"fa"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);"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.enSelect_);"gu"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"haw"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"he"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.heSelect_);"hi"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.filSelect_); +"hr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.beSelect_);"hu"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);"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.enSelect_);"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.defaultSelect_);"ko"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);"ln"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.filSelect_);"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.enSelect_);"mr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"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.enSelect_); +"nl"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"no"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"or"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"pl"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.plSelect_);"pt"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);if("pt_BR"==goog.LOCALE||"pt-BR"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_; +if("pt_PT"==goog.LOCALE||"pt-PT"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;"ro"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.roSelect_);"ru"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.beSelect_);"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.enSelect_); +"sr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.beSelect_);"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.enSelect_);"te"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"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.defaultSelect_);"uk"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.beSelect_);"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.enSelect_);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=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.prototype.mergeProperties=function(a){var b={},c;if(this.ttsProperties)for(c in this.ttsProperties)b[c]=this.ttsProperties[c];if(a){c=cvox.AbstractTts;"number"==typeof a[c.VOLUME]&&(b[c.VOLUME]=a[c.VOLUME]);"number"==typeof a[c.PITCH]&&(b[c.PITCH]=a[c.PITCH]);"number"==typeof a[c.RATE]&&(b[c.RATE]=a[c.RATE]);"string"==typeof a[c.LANG]&&(b[c.LANG]=a[c.LANG]);var d=this,e=function(c,e){if("number"==typeof a[e]&&"number"==typeof b[c]){b[c]+=a[e];var h=d.propertyMin[c],k=d.propertyMax[c]; +b[c]>k?b[c]=k:b[c]<h&&(b[c]=h)}};e(c.VOLUME,c.RELATIVE_VOLUME);e(c.PITCH,c.RELATIVE_PITCH);e(c.RATE,c.RELATIVE_RATE)}return b};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_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.earconsAvailable=function(){return!0}; +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.CHROMEVOX_DISABLED=cvox.AbstractEarcons.CHROMEVOX_DISABLED,this.earconNamesToIds.CHROMEVOX_ENABLED=cvox.AbstractEarcons.CHROMEVOX_ENABLED,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.getEarconFilename=function(a){return cvox.AbstractEarcons.earconMap[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.CHROMEVOX_DISABLED=8;cvox.AbstractEarcons.CHROMEVOX_ENABLED=9;cvox.AbstractEarcons.COLLAPSED=10;cvox.AbstractEarcons.EDITABLE_TEXT=11;cvox.AbstractEarcons.ELLIPSIS=12;cvox.AbstractEarcons.EXPANDED=13;cvox.AbstractEarcons.FONT_CHANGE=14;cvox.AbstractEarcons.INVALID_KEYPRESS=15;cvox.AbstractEarcons.LINK=16;cvox.AbstractEarcons.LISTBOX=17;cvox.AbstractEarcons.LIST_ITEM=18; +cvox.AbstractEarcons.LONG_DESC=19;cvox.AbstractEarcons.NEW_MAIL=20;cvox.AbstractEarcons.OBJECT_CLOSE=21;cvox.AbstractEarcons.OBJECT_DELETE=22;cvox.AbstractEarcons.OBJECT_DESELECT=23;cvox.AbstractEarcons.OBJECT_ENTER=24;cvox.AbstractEarcons.OBJECT_EXIT=25;cvox.AbstractEarcons.OBJECT_OPEN=26;cvox.AbstractEarcons.OBJECT_SELECT=27;cvox.AbstractEarcons.PARAGRAPH_BREAK=28;cvox.AbstractEarcons.SEARCH_HIT=29;cvox.AbstractEarcons.SEARCH_MISS=30;cvox.AbstractEarcons.SECTION=31; +cvox.AbstractEarcons.SELECTION=32;cvox.AbstractEarcons.SELECTION_REVERSE=33;cvox.AbstractEarcons.SPECIAL_CONTENT=34;cvox.AbstractEarcons.TASK_SUCCESS=35;cvox.AbstractEarcons.WRAP=36;cvox.AbstractEarcons.WRAP_EDGE=37;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.CHROMEVOX_DISABLED]="chromevox_disabled.ogg"; +cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.CHROMEVOX_ENABLED]="chromevox_enabled.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,!0)}}; +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.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.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.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.getSpan=function(a){for(var b=0;b<this.spans_.length;b++){var c=this.spans_[b];if(c.start<=a&&a<c.end)return c.value}};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}return null};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}return null}; +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.trim=function(){if(/^\s*$/.test(this.string_))return this.substring(0,0);var a=this.string_.match(/^\s*/)[0].length,b=this.string_.match(/\s*$/).index;return this.substring(a,b)};cvox.NavBraille=function(a){this.text=a.text instanceof cvox.Spannable?a.text:new cvox.Spannable(a.text);this.startIndex=a.startIndex?a.startIndex:0;this.endIndex=a.endIndex?a.endIndex:0};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.toJson=function(){return{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.AbstractBraille=function(){};cvox.AbstractHost=function(){};cvox.AbstractHost.State={ACTIVE:0,INACTIVE:1,KILLED:2};cvox.AbstractHost.prototype.init=function(){};cvox.AbstractHost.prototype.reinit=function(){};cvox.AbstractHost.prototype.onPageLoad=function(){};cvox.AbstractHost.prototype.getApiSrc=function(){return""};cvox.AbstractHost.prototype.getFileSrc=function(){return""};cvox.AbstractHost.prototype.hasTtsCallback=function(){return!0};cvox.AbstractHost.prototype.ttsLoaded=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.killChromeVox=function(){this.onStateChanged_(cvox.AbstractHost.State.KILLED)}; +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.isMathjaxActive=function(){};cvox.MathJaxInterface.prototype.getAllJax=function(){};cvox.MathJaxInterface.prototype.registerSignal=function(){};cvox.MathJaxInterface.prototype.injectScripts=function(){};cvox.MathJaxInterface.prototype.configMediaWiki=function(){};cvox.MathJaxInterface.prototype.getTex=function(){};cvox.MathJaxInterface.prototype.getAsciiMath=function(){};cvox.AbstractMathJax=function(){};cvox.AbstractMathJax.prototype.getAllTexs=function(a){for(var b=document.querySelectorAll(cvox.DomUtil.altMathQuerySelector("tex")),c=0,d;d=b[c];c++)this.getTex(a,d)};cvox.AbstractMathJax.prototype.getAllAsciiMaths=function(a){for(var b=document.querySelectorAll(cvox.DomUtil.altMathQuerySelector("asciimath")),c=0,d;d=b[c];c++)this.getAsciiMath(a,d)}; +cvox.AbstractMathJax.prototype.convertMarkupToDom=function(a,b,c){if(b){var d=new DOMParser;b=b.replace(/>\s+</g,"><");a(d.parseFromString(b,"text/xml").firstChild,c)}};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.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.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.BuildInfo={};cvox.BuildInfo.build="1384906195.369502";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");})}();"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.installScript=function(a,b,c,d){if(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;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.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.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.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.getValue=function(){var a="";if(this.multiline){if(a+="multiline editable text. ",this.start==this.end)var b=this.getLine(this.getLineIndex(this.start)),a=b?a+b:a+"blank"}else a=this.node?a+cvox.DomUtil.getValue(this.node):a+this.value,a=a<=this.maxShortPhraseLen?a+", editable text":a.substring(0,this.maxShortPhraseLen)+", editable text";return a}; +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);b=this.value.substr(b,a-b);return b.replace(/^\s+|\s+$/g,"")};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"));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?this.speak(cvox.ChromeVox.msgs.getMsg("end"),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.ChromeVoxEditableTextBase.prototype.moveCursorToNextCharacter=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToPreviousCharacter=function(){return!1}; +cvox.ChromeVoxEditableTextBase.prototype.moveCursorToNextWord=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToPreviousWord=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToNextLine=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToPreviousLine=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToNextParagraph=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToPreviousParagraph=function(){return!1}; +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.ChromeVoxEditableElement.prototype.getValue=function(){this.justSpokeDescription_=!0;return cvox.ChromeVoxEditableElement.superClass_.getValue.call(this)};cvox.ChromeVoxEditableElement.prototype.moveCursorToNextCharacter=function(){var a=this.node;a.selectionEnd++;a.selectionStart=a.selectionEnd;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableElement.prototype.moveCursorToPreviousCharacter=function(){var a=this.node;a.selectionStart--;a.selectionEnd=a.selectionStart;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableElement.prototype.moveCursorToNextWord=function(){var a=this.node,b=a.value.length,c=/\W+/gm,d=a.value.substring(a.selectionEnd),e=c.exec(d);null!==e&&0==e.index&&(e=c.exec(d));b=null===e?b:e.index+a.selectionEnd;a.selectionStart=a.selectionEnd=b;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableElement.prototype.moveCursorToPreviousWord=function(){for(var a=this.node,b=/\W+/gm,c=a.value.substring(0,a.selectionStart),d=0;null!==b.exec(c);)b.lastIndex<a.selectionStart&&(d=b.lastIndex);a.selectionStart=a.selectionEnd=d;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableElement.prototype.moveCursorToNextParagraph=function(){var a=this.node,b=a.value.length,c=a.selectionEnd>=b?b:a.value.indexOf("\n",a.selectionEnd);0>c&&(c=b);a.selectionStart=a.selectionEnd=c+1;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableElement.prototype.moveCursorToPreviousParagraph=function(){var a=this.node,b=0>=a.selectionStart?0:a.value.lastIndexOf("\n",a.selectionStart-2)+1;0>b&&(b=0);a.selectionStart=a.selectionEnd=b;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0};cvox.ChromeVoxEditableHTMLInput=function(a,b){cvox.ChromeVoxEditableElement.call(this,a,a.value,a.selectionStart,a.selectionEnd,"password"===a.type,b)};goog.inherits(cvox.ChromeVoxEditableHTMLInput,cvox.ChromeVoxEditableElement); +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.ChromeVoxEditableTextArea.prototype.moveCursorToNextLine=function(){var a=this.node,b=a.value.length;if(a.selectionEnd>=b)return!1;var c=this.getShadow(),d=c.getLineIndex(a.selectionEnd),e=c.getLineStart(d),e=a.selectionEnd-e,f=0==b?0:c.getLineIndex(b-1),b=d>=f?b:Math.min(c.getLineStart(d+1)+e,c.getLineEnd(d+1));a.selectionStart=a.selectionEnd=b;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableTextArea.prototype.moveCursorToPreviousLine=function(){var a=this.node;if(0>=a.selectionStart)return!1;var b=this.getShadow(),c=b.getLineIndex(a.selectionStart),d=b.getLineStart(c),d=a.selectionStart-d,b=0>=c?0:Math.min(b.getLineStart(c-1)+d,b.getLineEnd(c-1));a.selectionStart=a.selectionEnd=b;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +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.moveCursorToNextCharacter=function(){window.getSelection().modify("move","forward","character");cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0};cvox.ChromeVoxEditableContentEditable.prototype.moveCursorToPreviousCharacter=function(){window.getSelection().modify("move","backward","character");cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableContentEditable.prototype.moveCursorToNextParagraph=function(){window.getSelection().modify("move","forward","paragraph");cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0};cvox.ChromeVoxEditableContentEditable.prototype.moveCursorToPreviousParagraph=function(){window.getSelection().modify("move","backward","paragraph");cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0};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.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.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.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.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.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.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"},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.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;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.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.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(){var a=goog.bind(function(a,c){this.addMathjax(a,c)},this);cvox.ChromeVox.mathJax.isMathjaxActive(function(b){b&&(cvox.ChromeVox.mathJax.getAllJax(a),cvox.ChromeVox.mathJax.registerSignal(a,"New Math"))})}; +cvox.TraverseMath.prototype.initializeAltMaths=function(){if(document.querySelector(cvox.DomUtil.altMathQuerySelector("tex")+", "+cvox.DomUtil.altMathQuerySelector("asciimath"))){var a=goog.bind(function(a,c){this.allTexs_[c]=a},this);cvox.ChromeVox.mathJax.injectScripts();cvox.ChromeVox.mathJax.isMathjaxActive(function(b){b&&(cvox.ChromeVox.mathJax.configMediaWiki(),cvox.ChromeVox.mathJax.getAllTexs(a),cvox.ChromeVox.mathJax.getAllAsciiMaths(a))})}}; +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.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.getDynamicConstraintValues=function(){for(var a={},b=0,c;c=this.speechRules_[b];b++)for(var d in c.dynamicCstr){var e=[c.dynamicCstr[d]];a[d]=a[d]?cvox.MathUtil.union(a[d],e):e}return a}; +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_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&&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:{};for(var d=c.roleMsg||(b?cvox.DomUtil.getRoleMsg(b,cvox.VERBOSITY_VERBOSE):""),d=cvox.BrailleUtil.TEMPLATE[d]||cvox.BrailleUtil.TEMPLATE.base,e=new cvox.Spannable,f=function(d){switch(d){case "n":return c.name||cvox.BrailleUtil.getName(b);case "r":return c.role||cvox.BrailleUtil.getRole(b);case "s":return c.state||cvox.BrailleUtil.getState(b);case "c":return c.container||cvox.BrailleUtil.getContainer(a,b);case "v":return c.value?new cvox.Spannable(c.value, +new cvox.BrailleUtil.ValueSpan(0)):cvox.BrailleUtil.getValue(b);default:return d}},g=0;g<d.length;g++){var h=f(d[g]);e.append(h);h.toString()||" "!=d[g+1]||g++}return e.trim()};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);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.NavigationManager.prototype.stopReading=function(a){this.keepReading_=!1;this.navSpeaker_.stopReading=!0;a&&cvox.ChromeVox.tts.stop();void 0!=this.prevStickyState_&&(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.ignoreIframesNoMatterWhat=function(){this.ignoreIframesNoMatterWhat_=!0};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)&&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.nextResult=function(a){if(!this.isActive())return null;var b=this.txtNode_.value;return this.next_(b,a)};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.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.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":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();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":break;case "showOptionsPage":cvox.ChromeVox.tts.stop();break;case "showKbExplorerPage":cvox.ChromeVox.tts.stop();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])&&(a.announce=!0,cvox.DomUtil.isInternalLink(document.activeElement)&&(cvox.DomUtil.syncInternalLink(document.activeElement),cvox.ChromeVox.navigationManager.sync()));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":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":break;case "toggleStickyMode":break;case "toggleKeyPrefix":cvox.ChromeVox.keyPrefixOn=!cvox.ChromeVox.keyPrefixOn;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.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.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){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.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=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.Serializer=function(){};cvox.Serializer.prototype.storeOn=function(a){cvox.ChromeVox.storeOn(a);cvox.ChromeVoxEventWatcher.storeOn(a)};cvox.Serializer.prototype.readFrom=function(a){cvox.ChromeVox.readFrom(a);cvox.ChromeVoxEventWatcher.readFrom(a)};cvox.InitGlobals=function(){}; +cvox.InitGlobals.initGlobals=function(){cvox.ChromeVox.host||(cvox.ChromeVox.host=cvox.HostFactory.getHost());cvox.ChromeVox.tts=(new cvox.CompositeTts).add(cvox.HostFactory.getTts()).add(cvox.History.getInstance()).add(cvox.ConsoleTts.getInstance());cvox.ChromeVox.braille||(cvox.ChromeVox.braille=cvox.HostFactory.getBraille());cvox.ChromeVox.mathJax=cvox.HostFactory.getMathJax();cvox.ChromeVox.earcons=cvox.HostFactory.getEarcons();cvox.ChromeVox.msgs=cvox.HostFactory.getMsgs();cvox.ChromeVox.isActive= +!0;cvox.ChromeVox.navigationManager=new cvox.NavigationManager;cvox.ChromeVox.navigationManager.updateIndicator();cvox.ChromeVox.syncToNode=cvox.ApiImplementation.syncToNode;cvox.ChromeVox.speakNode=cvox.ApiImplementation.speakNode;cvox.ChromeVox.serializer=new cvox.Serializer;cvox.ChromeVox.host.init();cvox.ChromeVoxEventWatcher.init(window);cvox.ChromeVox.executeUserCommand=function(a){cvox.ChromeVoxUserCommands.commands[a]()};cvox.ChromeVox.host.onPageLoad()};cvox.ChromeVoxInit={};cvox.ChromeVox.initTimeout_=100;cvox.ChromeVox.recallInit_=function(a){window.console.log(a+" Will try again in "+cvox.ChromeVox.initTimeout_+"ms");window.setTimeout(cvox.ChromeVox.initDocument,cvox.ChromeVox.initTimeout_);cvox.ChromeVox.initTimeout_*=2}; +cvox.ChromeVox.initDocument=function(){document.body?(cvox.ChromeVox.host=cvox.HostFactory.getHost(),cvox.ChromeVox.host.ttsLoaded()?(window.console.log("Starting ChromeVox."),cvox.InitGlobals.initGlobals(),window.disableChromeVox=function(){cvox.ChromeVox.host.killChromeVox()}):cvox.ChromeVox.recallInit_("ChromeVox not starting; waiting for TTS. "+document.location.href+".")):cvox.ChromeVox.recallInit_("ChromeVox not starting on unloaded page: "+document.location.href+".")}; +cvox.ChromeVox.reinit=function(){cvox.ChromeVox.host.reinit();cvox.ChromeVox.initDocument()};cvox.AndroidBraille=function(){};goog.inherits(cvox.AndroidBraille,cvox.AbstractBraille);cvox.AndroidBraille.prototype.write=function(a){accessibility.braille&&accessibility.braille(JSON.stringify(a.toJson()))};cvox.HostFactory.brailleConstructor=cvox.AndroidBraille;cvox.AndroidEarcons=function(){cvox.AbstractEarcons.call(this);this.audioMap={}};goog.inherits(cvox.AndroidEarcons,cvox.AbstractEarcons);cvox.AndroidEarcons.BASE_URL="https://ssl.gstatic.com/accessibility/javascript/android/earcons/"; +cvox.AndroidEarcons.prototype.playEarcon=function(a){if(this.earconsAvailable()){cvox.AndroidEarcons.superClass_.playEarcon.call(this,a);this.currentAudio=this.audioMap[a];this.currentAudio||(this.currentAudio=new Audio(cvox.AndroidEarcons.BASE_URL+this.getEarconFilename(a)),this.audioMap[a]=this.currentAudio);try{this.currentAudio.currentTime=0}catch(b){}this.currentAudio.paused&&this.currentAudio.play()}}; +cvox.AndroidEarcons.prototype.earconsAvailable=function(){return-1==navigator.userAgent.indexOf("Chrome")?!1:!0};cvox.HostFactory.earconsConstructor=cvox.AndroidEarcons;"undefined"!=typeof goog&&goog.provide&&(cvox.Api={},cvox.Api.Math={}); +(function(){function a(){d&&(d.port1.close(),d.port2.close(),d=null);d=new MessageChannel;window.postMessage("cvox.PortSetup",[d.port2],"*");d.port1.onmessage=function(a){"cvox.Disconnect"==a.data&&(d=null);try{var b=JSON.parse(a.data);b.id&&g[b.id]&&(g[b.id](b),delete g[b.id])}catch(c){}}}function b(a,b){var c=f;f++;void 0===a.args&&(a.args=[]);a.args=[c].concat(a.args);g[c]=b;d.port1.postMessage(JSON.stringify(a))}function c(a,c){var d=null;c&&c.endCallback&&(d=c.endCallback);b(a,d)}var d,e=!1, +f=1,g={};window.cvox||(window.cvox={});var h=window.cvox,k=null;"undefined"!=typeof h.ApiImplementation&&(k=h.ApiImplementation);h.Api=function(){};h.Api.internalEnable=function(){e=!0;k||a();var b=document.createEvent("UIEvents");b.initEvent("chromeVoxLoaded",!0,!1);document.dispatchEvent(b)};h.Api.internalDisable=function(){e=!1;d=null;var a=document.createEvent("UIEvents");a.initEvent("chromeVoxUnloaded",!0,!1);document.dispatchEvent(a)};h.Api.isChromeVoxActive=function(){return k?e:!!d};h.Api.speak= +function(a,b,d){h.Api.isChromeVoxActive()&&(k?k.speak(a,b,d):(a={cmd:"speak",args:[a,b,d]},c(a,d)))};h.Api.speakNode=function(a,b,d){h.Api.isChromeVoxActive()&&(k?k.speak(h.DomUtil.getName(a),b,d):(a={cmd:"speakNodeRef",args:[h.ApiUtils.makeNodeReference(a),b,d]},c(a,d)))};h.Api.stop=function(){if(h.Api.isChromeVoxActive())if(k)k.stop();else{var a={cmd:"stop"};d.port1.postMessage(JSON.stringify(a))}};h.Api.playEarcon=function(a){h.Api.isChromeVoxActive()&&(k?k.playEarcon(a):(a={cmd:"playEarcon",args:[a]}, +d.port1.postMessage(JSON.stringify(a))))};h.Api.syncToNode=function(a,b){if(h.Api.isChromeVoxActive()&&a)if(k)k.syncToNode(a,b);else{var c={cmd:"syncToNodeRef",args:[h.ApiUtils.makeNodeReference(a),b]};d.port1.postMessage(JSON.stringify(c))}};h.Api.getCurrentNode=function(a){h.Api.isChromeVoxActive()&&a&&(k?a(h.ChromeVox.navigationManager.getCurrentNode()):b({cmd:"getCurrentNode"},function(b){a(h.ApiUtils.getNodeFromRef(b.currentNode))}))};h.Api.setSpeechForNode=function(a,b){h.Api.isChromeVoxActive()&& +a&&b&&a.setAttribute("cvoxnodedesc",JSON.stringify(b))};h.Api.click=function(a,b){if(h.Api.isChromeVoxActive()&&a)if(k)h.DomUtil.clickElem(a,b,!0);else{var c={cmd:"clickNodeRef",args:[h.ApiUtils.makeNodeReference(a),b]};d.port1.postMessage(JSON.stringify(c))}};h.Api.getBuild=function(a){h.Api.isChromeVoxActive()&&a&&(k?a(h.BuildInfo.build):b({cmd:"getBuild"},function(b){a(b.build)}))};h.Api.getVersion=function(a){h.Api.isChromeVoxActive()&&a&&(k?a(h.ChromeVox.version+""):b({cmd:"getVersion"},function(b){a(b.version)}))}; +h.Api.getCvoxModifierKeys=function(a){h.Api.isChromeVoxActive()&&a&&(k?a(h.KeyUtil.cvoxModKeyCodes()):b({cmd:"getCvoxModKeys"},function(b){a(b.keyCodes)}))};h.Api.isKeyShortcut=function(a,c){if(c)if(h.Api.isChromeVoxActive()){var d=[37,39];if(!d.indexOf(a.keyCode)||a.altKey||a.shiftKey||a.ctrlKey||a.metaKey)if(k){var e=h.KeyUtil.keyEventToKeySequence(a);c(h.ChromeVoxKbHandler.handlerKeyMap.hasKey(e))}else{var d={},f=["target","srcElement","currentTarget","view"];for(e in a)-1===f.indexOf(e)&&(d[e]= +a[e]);e={cmd:"isKeyShortcut",args:[d]};b(e,function(a){c(a.isHandled)})}else c(!1)}else c(!1)};h.Api.setKeyEcho=function(a){h.Api.isChromeVoxActive()&&(k?k.setKeyEcho(a):(a={cmd:"setKeyEcho",args:[a]},d.port1.postMessage(JSON.stringify(a))))};h.Api.Math=function(){};h.Api.Math.defineRule=function(a,b,c,e,f){if(h.Api.isChromeVoxActive()){var g=Array.prototype.slice.call(arguments,4),g=[a,b,c,e].concat(g);k?k.Math.defineRule.apply(k.Math,g):(g={cmd:"Math.defineRule",args:g},d.port1.postMessage(JSON.stringify(g)))}}; +h.Api.internalEnable();h.NodeDescription=function(a,b,c,d){this.context=a?a:"";this.text=b?b:"";this.userValue=c?c:"";this.annotation=d?d:""}})();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.AndroidKeyMap=function(){}; +cvox.AndroidKeyMap.getStringifiedKeyMap=function(){return cvox.ChromeVoxJSON.stringify({'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[17]}}':"stopSpeech",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[9]}}':"handleTab",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[9]}}':"handleTabPrev", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[38]}}':"backward",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[40]}}':"forward",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[37]}}':"previousGranularity", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[39]}}':"nextGranularity",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[13]}}':"forceClickOnCurrentItem",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[40]}}':"readFromHere", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[85]}}':"readLinkURL",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[75]}}':"fullyDescribe",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[189]}}':"decreaseTtsPitch", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[187]}}':"increaseTtsPitch",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[219]}}':"decreaseTtsRate",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[221]}}':"increaseTtsRate", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[81]}}':"cyclePunctuationLevel",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[49]}}':"nextHeading1",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[49]}}':"previousHeading1", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[50]}}':"nextHeading2",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[50]}}':"previousHeading2",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[51]}}':"nextHeading3", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[51]}}':"previousHeading3",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[52]}}':"nextHeading4",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[52]}}':"previousHeading4", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[53]}}':"nextHeading5",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[53]}}':"previousHeading5",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[54]}}':"nextHeading6", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[54]}}':"previousHeading6",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[67]}}':"nextComboBox",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[67]}}':"previousComboBox", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[69]}}':"nextEditText",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[69]}}':"previousEditText",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[70]}}':"nextFormField", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[70]}}':"previousFormField",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[71]}}':"nextGraphic",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[71]}}':"previousGraphic", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[72]}}':"nextHeading",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[72]}}':"previousHeading",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[73]}}':"nextListItem", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[73]}}':"previousListItem",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[76]}}':"nextLink",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[76]}}':"previousLink", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[79]}}':"nextList",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[79]}}':"previousList",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[82]}}':"nextRadio", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[82]}}':"previousRadio",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[84]}}':"nextTable",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[84]}}':"previousTable", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[66]}}':"nextButton",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[66]}}':"previousButton",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[88]}}':"nextCheckbox", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[88]}}':"previousCheckbox",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[186]}}':"nextLandmark",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[186]}}':"previousLandmark"})};cvox.MathSimpleStore=function(){cvox.MathStore.call(this)};goog.inherits(cvox.MathSimpleStore,cvox.MathStore);cvox.MathSimpleStore.prototype.defineRulesFromMappings=function(a,b,c){for(var d in c)for(var e in c[d]){var f=c[d][e],g='self::text() = "'+b+'"';this.defineRule(a,d+"."+e,'[t] "'+f+'"',"self::text()",g)}};cvox.MathCompoundStore=function(){this.subStores_={}};goog.addSingletonGetter(cvox.MathCompoundStore); +cvox.MathCompoundStore.prototype.defineRules=function(a,b,c){var d=new cvox.MathSimpleStore;d.defineRulesFromMappings(a,b,c);this.subStores_[b]=d};cvox.MathCompoundStore.prototype.addSymbolRules=function(a){var b=cvox.MathSimpleStore.parseUnicode_(a.key);this.defineRules(a.key,b,a.mappings)};cvox.MathCompoundStore.prototype.addFunctionRules=function(a){var b=a.names;a=a.mappings;for(var c=0,d;d=b[c];c++)this.defineRules(d,d,a)}; +cvox.MathCompoundStore.prototype.lookupRule=function(a,b){var c=this.subStores_[a.textContent];if(c)return c.lookupRule(a,b)};cvox.MathCompoundStore.prototype.lookupString=function(a,b){var c=document.createTextNode(a);return(c=this.lookupRule(c,b))?c.action.components.map(function(a){return a.content.slice(1,-1)}).join(" "):""}; +cvox.MathCompoundStore.prototype.getDynamicConstraintValues=function(){var a={},b;for(b in this.subStores_){var c=this.subStores_[b].getDynamicConstraintValues(),d;for(d in c){var e=a[d];a[d]=e?cvox.MathUtil.union(e,c[d]):c[d]}}return a};cvox.MathSimpleStore.parseUnicode_=function(a){var b=parseInt(a,16);if(65536>b)return String.fromCharCode(b);b-=65536;a=(b>>10)+55296;b=(b&1023)+56320;return String.fromCharCode(a,b)};cvox.AndroidMathMap=function(){this.store_=cvox.MathCompoundStore.getInstance();cvox.AndroidMathMap.FUNCTION_MAPPINGS_.forEach(goog.bind(this.store_.addFunctionRules,this.store_));cvox.AndroidMathMap.SYMBOL_MAPPINGS_.forEach(goog.bind(this.store_.addSymbolRules,this.store_));this.store_.getDynamicConstraintValues()}; +cvox.AndroidMathMap.prototype.evaluate=function(a,b,c){var d="";b=cvox.MathStore.createDynamicConstraint(b,c);d=this.store_.lookupString(a,b);return new cvox.NavDescription({text:d?d:a})}; +cvox.AndroidMathMap.SYMBOL_MAPPINGS_=[{category:"Po",mappings:{"default":{"default":"exclamation mark"}},key:"0021"},{category:"Po",mappings:{"default":{"default":"quotation mark"}},key:"0022"},{category:"Po",mappings:{"default":{"default":"number sign",alternative:"hash","short":"number"}},key:"0023"},{category:"Sc",mappings:{"default":{"default":"dollar sign","short":"dollar"}},key:"0024"},{category:"Po",mappings:{"default":{"default":"percent sign","short":"percent"}},key:"0025"},{category:"Po", +mappings:{"default":{"default":"ampersand"}},key:"0026"},{category:"Po",mappings:{"default":{"default":"apostrophe",alternative:"apostrophe quote"}},key:"0027"},{category:"Po",mappings:{"default":{"default":"asterisk"}},key:"002A"},{category:"Sm",mappings:{"default":{"default":"plus sign","short":"plus"}},key:"002B"},{category:"Po",mappings:{"default":{"default":"comma"}},key:"002C"},{category:"Pd",mappings:{"default":{"default":"hyphen minus","short":"minus"}},key:"002D"},{category:"Po",mappings:{"default":{"default":"full stop", +alternative:"period"}},key:"002E"},{category:"Po",mappings:{"default":{"default":"solidus",alternative:"slash"}},key:"002F"},{category:"Po",mappings:{"default":{"default":"colon"}},key:"003A"},{category:"Po",mappings:{"default":{"default":"semicolon"}},key:"003B"},{category:"Sm",mappings:{"default":{"default":"less than sign","short":"less than"}},key:"003C"},{category:"Sm",mappings:{"default":{"default":"equals sign","short":"equals"}},key:"003D"},{category:"Sm",mappings:{"default":{"default":"greater than sign", +"short":"greater than"}},key:"003E"},{category:"Po",mappings:{"default":{"default":"question mark"}},key:"003F"},{category:"Po",mappings:{"default":{"default":"commercial at","short":"at"}},key:"0040"},{category:"Po",mappings:{"default":{"default":"reverse solidus",alternative:"backslash"}},key:"005C"},{category:"Sk",mappings:{"default":{"default":"circumflex accent",alternative:"spacing circumflex","short":"hat"}},key:"005E"},{category:"Pc",mappings:{"default":{"default":"low line",alternative:"spacing underscore"}}, +key:"005F"},{category:"Sk",mappings:{"default":{"default":"grave accent",alternative:"spacing grave","short":"grave"}},key:"0060"},{category:"Sm",mappings:{"default":{"default":"vertical line",alternative:"vertical bar"}},key:"007C"},{category:"Sm",mappings:{"default":{"default":"tilde"}},key:"007E"},{category:"Po",mappings:{"default":{"default":"inverted exclamation mark"}},key:"00A1"},{category:"Sc",mappings:{"default":{"default":"cent sign","short":"cent"}},key:"00A2"},{category:"Sc",mappings:{"default":{"default":"pound sign", +"short":"pound"}},key:"00A3"},{category:"Sc",mappings:{"default":{"default":"currency sign","short":"currency"}},key:"00A4"},{category:"Sc",mappings:{"default":{"default":"yen sign","short":"yen"}},key:"00A5"},{category:"So",mappings:{"default":{"default":"broken bar",alternative:"broken vertical bar"}},key:"00A6"},{category:"Po",mappings:{"default":{"default":"section sign","short":"section"}},key:"00A7"},{category:"Sk",mappings:{"default":{"default":"diaeresis",alternative:"spacing diaeresis","short":"double dot"}}, +key:"00A8"},{category:"So",mappings:{"default":{"default":"copyright sign","short":"copyright"}},key:"00A9"},{category:"Lo",mappings:{"default":{"default":"feminine ordinal indicator"}},key:"00AA"},{category:"Pi",mappings:{"default":{"default":"left pointing double angle quotation mark",alternative:"left pointing guillemet"}},key:"00AB"},{category:"Sm",mappings:{"default":{"default":"not sign","short":"not"}},key:"00AC"},{category:"So",mappings:{"default":{"default":"registered sign",alternative:"registered trade mark sign", +"short":"registered"}},key:"00AE"},{category:"Sk",mappings:{"default":{"default":"macron",alternative:"spacing macron"}},key:"00AF"},{category:"So",mappings:{"default":{"default":"degree sign","short":"degree"}},key:"00B0"},{category:"Sm",mappings:{"default":{"default":"plus minus sign",alternative:"plus or minus sign","short":"plus minus"}},key:"00B1"},{category:"Sk",mappings:{"default":{"default":"acute accent",alternative:"spacing acute","short":"acute"}},key:"00B4"},{category:"Ll",mappings:{"default":{"default":"micro sign", +"short":"micro"}},key:"00B5"},{category:"Po",mappings:{"default":{"default":"pilcrow sign",alternative:"paragraph sign","short":"pilcrow"}},key:"00B6"},{category:"Po",mappings:{"default":{"default":"middle dot"}},key:"00B7"},{category:"Sk",mappings:{"default":{"default":"cedilla",alternative:"spacing cedilla"}},key:"00B8"},{category:"Lo",mappings:{"default":{"default":"masculine ordinal indicator"}},key:"00BA"},{category:"Pf",mappings:{"default":{"default":"right pointing double angle quotation mark", +alternative:"right pointing guillemet"}},key:"00BB"},{category:"Po",mappings:{"default":{"default":"inverted question mark"}},key:"00BF"},{category:"Sm",mappings:{"default":{"default":"multiplication sign","short":"multiplication"}},key:"00D7"},{category:"Sm",mappings:{"default":{"default":"division sign","short":"division"}},key:"00F7"},{category:"Sk",mappings:{"default":{"default":"breve",alternative:"spacing breve"}},key:"02D8"},{category:"Sk",mappings:{"default":{"default":"dot above",alternative:"spacing dot above"}}, +key:"02D9"},{category:"Sk",mappings:{"default":{"default":"ring above",alternative:"spacing ring above"}},key:"02DA"},{category:"Sk",mappings:{"default":{"default":"ogonek",alternative:"spacing ogonek"}},key:"02DB"},{category:"Sk",mappings:{"default":{"default":"small tilde",alternative:"spacing tilde"}},key:"02DC"},{category:"Sk",mappings:{"default":{"default":"double acute accent",alternative:"spacing double acute"}},key:"02DD"},{category:"Pd",mappings:{"default":{"default":"hyphen"}},key:"2010"}, +{category:"Pd",mappings:{"default":{"default":"non breaking hyphen"}},key:"2011"},{category:"Pd",mappings:{"default":{"default":"figure dash"}},key:"2012"},{category:"Pd",mappings:{"default":{"default":"en dash"}},key:"2013"},{category:"Pd",mappings:{"default":{"default":"em dash"}},key:"2014"},{category:"Pd",mappings:{"default":{"default":"horizontal bar",alternative:"quotation dash"}},key:"2015"},{category:"Po",mappings:{"default":{"default":"double vertical line",alternative:"double vertical bar"}}, +key:"2016"},{category:"Po",mappings:{"default":{"default":"double low line",alternative:"spacing double underscore"}},key:"2017"},{category:"Pi",mappings:{"default":{"default":"left single quotation mark",alternative:"single turned comma quotation mark"}},key:"2018"},{category:"Pf",mappings:{"default":{"default":"right single quotation mark",alternative:"single comma quotation mark"}},key:"2019"},{category:"Ps",mappings:{"default":{"default":"single low 9 quotation mark",alternative:"low single comma quotation mark"}}, +key:"201A"},{category:"Pi",mappings:{"default":{"default":"single high reversed 9 quotation mark",alternative:"single reversed comma quotation mark"}},key:"201B"},{category:"Pi",mappings:{"default":{"default":"left double quotation mark",alternative:"double turned comma quotation mark"}},key:"201C"},{category:"Pf",mappings:{"default":{"default":"right double quotation mark",alternative:"double comma quotation mark"}},key:"201D"},{category:"Ps",mappings:{"default":{"default":"double low 9 quotation mark", +alternative:"low double comma quotation mark"}},key:"201E"},{category:"Pi",mappings:{"default":{"default":"double high reversed 9 quotation mark",alternative:"double reversed comma quotation mark"}},key:"201F"},{category:"Po",mappings:{"default":{"default":"dagger"}},key:"2020"},{category:"Po",mappings:{"default":{"default":"double dagger"}},key:"2021"},{category:"Po",mappings:{"default":{"default":"bullet"}},key:"2022"},{category:"Po",mappings:{"default":{"default":"triangular bullet"}},key:"2023"}, +{category:"Po",mappings:{"default":{"default":"one dot leader"}},key:"2024"},{category:"Po",mappings:{"default":{"default":"two dot leader"}},key:"2025"},{category:"Po",mappings:{"default":{"default":"horizontal ellipsis"}},key:"2026"},{category:"Po",mappings:{"default":{"default":"hyphenation point"}},key:"2027"},{category:"Po",mappings:{"default":{"default":"per mille sign","short":"per mille"}},key:"2030"},{category:"Po",mappings:{"default":{"default":"per ten thousand sign","short":"per ten thousand"}}, +key:"2031"},{category:"Po",mappings:{"default":{"default":"prime"}},key:"2032"},{category:"Po",mappings:{"default":{"default":"double prime"}},key:"2033"},{category:"Po",mappings:{"default":{"default":"triple prime"}},key:"2034"},{category:"Po",mappings:{"default":{"default":"reversed prime"}},key:"2035"},{category:"Po",mappings:{"default":{"default":"reversed double prime"}},key:"2036"},{category:"Po",mappings:{"default":{"default":"reversed triple prime"}},key:"2037"},{category:"Po",mappings:{"default":{"default":"caret"}}, +key:"2038"},{category:"Pi",mappings:{"default":{"default":"single left pointing angle quotation mark",alternative:"left pointing single guillemet"}},key:"2039"},{category:"Pf",mappings:{"default":{"default":"single right pointing angle quotation mark",alternative:"right pointing single guillemet"}},key:"203A"},{category:"Po",mappings:{"default":{"default":"reference mark"}},key:"203B"},{category:"Po",mappings:{"default":{"default":"double exclamation mark"}},key:"203C"},{category:"Po",mappings:{"default":{"default":"interrobang"}}, +key:"203D"},{category:"Po",mappings:{"default":{"default":"overline",alternative:"spacing overscore"}},key:"203E"},{category:"Pc",mappings:{"default":{"default":"undertie"}},key:"203F"},{category:"Pc",mappings:{"default":{"default":"character tie"}},key:"2040"},{category:"Po",mappings:{"default":{"default":"caret insertion point"}},key:"2041"},{category:"Po",mappings:{"default":{"default":"asterism"}},key:"2042"},{category:"Po",mappings:{"default":{"default":"hyphen bullet"}},key:"2043"},{category:"Sm", +mappings:{"default":{"default":"fraction slash"}},key:"2044"},{category:"Po",mappings:{"default":{"default":"double question mark"}},key:"2047"},{category:"Po",mappings:{"default":{"default":"question exclamation mark"}},key:"2048"},{category:"Po",mappings:{"default":{"default":"exclamation question mark"}},key:"2049"},{category:"Po",mappings:{"default":{"default":"reversed pilcrow sign","short":"reversed pilcrow"}},key:"204B"},{category:"Po",mappings:{"default":{"default":"black leftwards bullet"}}, +key:"204C"},{category:"Po",mappings:{"default":{"default":"black rightwards bullet"}},key:"204D"},{category:"Po",mappings:{"default":{"default":"low asterisk"}},key:"204E"},{category:"Po",mappings:{"default":{"default":"reversed semicolon"}},key:"204F"},{category:"Po",mappings:{"default":{"default":"close up"}},key:"2050"},{category:"Po",mappings:{"default":{"default":"two asterisks aligned vertically"}},key:"2051"},{category:"Sm",mappings:{"default":{"default":"commercial minus sign","short":"commercial minus"}}, +key:"2052"},{category:"Po",mappings:{"default":{"default":"swung dash"}},key:"2053"},{category:"Pc",mappings:{"default":{"default":"inverted undertie"}},key:"2054"},{category:"Po",mappings:{"default":{"default":"flower punctuation mark"}},key:"2055"},{category:"Po",mappings:{"default":{"default":"three dot punctuation"}},key:"2056"},{category:"Po",mappings:{"default":{"default":"quadruple prime"}},key:"2057"},{category:"Po",mappings:{"default":{"default":"four dot punctuation"}},key:"2058"},{category:"Po", +mappings:{"default":{"default":"five dot punctuation"}},key:"2059"},{category:"Po",mappings:{"default":{"default":"two dot punctuation"}},key:"205A"},{category:"Po",mappings:{"default":{"default":"four dot mark"}},key:"205B"},{category:"Po",mappings:{"default":{"default":"dotted cross"}},key:"205C"},{category:"Po",mappings:{"default":{"default":"tricolon"}},key:"205D"},{category:"Po",mappings:{"default":{"default":"vertical four dots"}},key:"205E"},{category:"Sm",mappings:{"default":{"default":"superscript plus sign", +"short":"superscript plus"}},key:"207A"},{category:"Sm",mappings:{"default":{"default":"superscript minus",alternative:"superscript hyphen minus"}},key:"207B"},{category:"Sm",mappings:{"default":{"default":"superscript equals sign","short":"superscript equals"}},key:"207C"},{category:"Ps",mappings:{"default":{"default":"superscript left parenthesis",alternative:"superscript opening parenthesis"}},key:"207D"},{category:"Pe",mappings:{"default":{"default":"superscript right parenthesis",alternative:"superscript closing parenthesis"}}, +key:"207E"},{category:"Sm",mappings:{"default":{"default":"subscript plus sign","short":"subscript plus"}},key:"208A"},{category:"Sm",mappings:{"default":{"default":"subscript minus",alternative:"subscript hyphen minus"}},key:"208B"},{category:"Sm",mappings:{"default":{"default":"subscript equals sign","short":"subscript equals"}},key:"208C"},{category:"Ps",mappings:{"default":{"default":"subscript left parenthesis",alternative:"subscript opening parenthesis"}},key:"208D"},{category:"Pe",mappings:{"default":{"default":"subscript right parenthesis", +alternative:"subscript closing parenthesis"}},key:"208E"},{category:"So",mappings:{"default":{"default":"property line"}},key:"214A"},{category:"Sm",mappings:{"default":{"default":"turned ampersand"}},key:"214B"},{category:"So",mappings:{"default":{"default":"per sign","short":"per"}},key:"214C"},{category:"So",mappings:{"default":{"default":"aktieselskab"}},key:"214D"},{category:"Ll",mappings:{"default":{"default":"turned small f"}},key:"214E"},{category:"Sm",mappings:{"default":{"default":"for all"}}, +key:"2200"},{category:"Sm",mappings:{"default":{"default":"complement"}},key:"2201"},{category:"Sm",mappings:{"default":{"default":"partial differential"}},key:"2202"},{category:"Sm",mappings:{"default":{"default":"there exists"}},key:"2203"},{category:"Sm",mappings:{"default":{"default":"there does not exist"}},key:"2204"},{category:"Sm",mappings:{"default":{"default":"empty set"}},key:"2205"},{category:"Sm",mappings:{"default":{"default":"increment"}},key:"2206"},{category:"Sm",mappings:{"default":{"default":"nabla"}}, +key:"2207"},{category:"Sm",mappings:{"default":{"default":"element of"}},key:"2208"},{category:"Sm",mappings:{"default":{"default":"not an element of"}},key:"2209"},{category:"Sm",mappings:{"default":{"default":"small element of"}},key:"220A"},{category:"Sm",mappings:{"default":{"default":"contains as member"}},key:"220B"},{category:"Sm",mappings:{"default":{"default":"does not contain as member"}},key:"220C"},{category:"Sm",mappings:{"default":{"default":"small contains as member"}},key:"220D"}, +{category:"Sm",mappings:{"default":{"default":"end of proof"}},key:"220E"},{category:"Sm",mappings:{"default":{"default":"n ary product"}},key:"220F"},{category:"Sm",mappings:{"default":{"default":"n ary coproduct"}},key:"2210"},{category:"Sm",mappings:{"default":{"default":"n ary summation"}},key:"2211"},{category:"Sm",mappings:{"default":{"default":"minus sign","short":"minus"}},key:"2212"},{category:"Sm",mappings:{"default":{"default":"minus or plus sign","short":"minus or plus"}},key:"2213"}, +{category:"Sm",mappings:{"default":{"default":"dot plus"}},key:"2214"},{category:"Sm",mappings:{"default":{"default":"division slash"}},key:"2215"},{category:"Sm",mappings:{"default":{"default":"set minus"}},key:"2216"},{category:"Sm",mappings:{"default":{"default":"asterisk operator"}},key:"2217"},{category:"Sm",mappings:{"default":{"default":"ring operator"}},key:"2218"},{category:"Sm",mappings:{"default":{"default":"bullet operator"}},key:"2219"},{category:"Sm",mappings:{"default":{"default":"square root"}}, +key:"221A"},{category:"Sm",mappings:{"default":{"default":"cube root"}},key:"221B"},{category:"Sm",mappings:{"default":{"default":"fourth root"}},key:"221C"},{category:"Sm",mappings:{"default":{"default":"proportional to"}},key:"221D"},{category:"Sm",mappings:{"default":{"default":"infinity"}},key:"221E"},{category:"Sm",mappings:{"default":{"default":"right angle"}},key:"221F"},{category:"Sm",mappings:{"default":{"default":"angle"}},key:"2220"},{category:"Sm",mappings:{"default":{"default":"measured angle"}}, +key:"2221"},{category:"Sm",mappings:{"default":{"default":"spherical angle"}},key:"2222"},{category:"Sm",mappings:{"default":{"default":"divides","short":"bar"}},key:"2223"},{category:"Sm",mappings:{"default":{"default":"does not divide"}},key:"2224"},{category:"Sm",mappings:{"default":{"default":"parallel to"}},key:"2225"},{category:"Sm",mappings:{"default":{"default":"not parallel to"}},key:"2226"},{category:"Sm",mappings:{"default":{"default":"logical and"}},key:"2227"},{category:"Sm",mappings:{"default":{"default":"logical or"}}, +key:"2228"},{category:"Sm",mappings:{"default":{"default":"intersection"}},key:"2229"},{category:"Sm",mappings:{"default":{"default":"union"}},key:"222A"},{category:"Sm",mappings:{"default":{"default":"integral"}},key:"222B"},{category:"Sm",mappings:{"default":{"default":"double integral"}},key:"222C"},{category:"Sm",mappings:{"default":{"default":"triple integral"}},key:"222D"},{category:"Sm",mappings:{"default":{"default":"contour integral"}},key:"222E"},{category:"Sm",mappings:{"default":{"default":"surface integral"}}, +key:"222F"},{category:"Sm",mappings:{"default":{"default":"volume integral"}},key:"2230"},{category:"Sm",mappings:{"default":{"default":"clockwise integral"}},key:"2231"},{category:"Sm",mappings:{"default":{"default":"clockwise contour integral"}},key:"2232"},{category:"Sm",mappings:{"default":{"default":"anticlockwise contour integral"}},key:"2233"},{category:"Sm",mappings:{"default":{"default":"therefore"}},key:"2234"},{category:"Sm",mappings:{"default":{"default":"because"}},key:"2235"},{category:"Sm", +mappings:{"default":{"default":"ratio"}},key:"2236"},{category:"Sm",mappings:{"default":{"default":"proportion"}},key:"2237"},{category:"Sm",mappings:{"default":{"default":"dot minus"}},key:"2238"},{category:"Sm",mappings:{"default":{"default":"excess"}},key:"2239"},{category:"Sm",mappings:{"default":{"default":"geometric proportion"}},key:"223A"},{category:"Sm",mappings:{"default":{"default":"homothetic"}},key:"223B"},{category:"Sm",mappings:{"default":{"default":"tilde operator"}},key:"223C"},{category:"Sm", +mappings:{"default":{"default":"reversed tilde"}},key:"223D"},{category:"Sm",mappings:{"default":{"default":"inverted lazy s"}},key:"223E"},{category:"Sm",mappings:{"default":{"default":"sine wave"}},key:"223F"},{category:"Sm",mappings:{"default":{"default":"wreath product"}},key:"2240"},{category:"Sm",mappings:{"default":{"default":"not tilde"}},key:"2241"},{category:"Sm",mappings:{"default":{"default":"minus tilde"}},key:"2242"},{category:"Sm",mappings:{"default":{"default":"asymptotically equal to"}}, +key:"2243"},{category:"Sm",mappings:{"default":{"default":"not asymptotically equal to"}},key:"2244"},{category:"Sm",mappings:{"default":{"default":"approximately equal to"}},key:"2245"},{category:"Sm",mappings:{"default":{"default":"approximately but not actually equal to"}},key:"2246"},{category:"Sm",mappings:{"default":{"default":"neither approximately nor actually equal to"}},key:"2247"},{category:"Sm",mappings:{"default":{"default":"almost equal to"}},key:"2248"},{category:"Sm",mappings:{"default":{"default":"not almost equal to"}}, +key:"2249"},{category:"Sm",mappings:{"default":{"default":"almost equal or equal to"}},key:"224A"},{category:"Sm",mappings:{"default":{"default":"triple tilde"}},key:"224B"},{category:"Sm",mappings:{"default":{"default":"all equal to"}},key:"224C"},{category:"Sm",mappings:{"default":{"default":"equivalent to"}},key:"224D"},{category:"Sm",mappings:{"default":{"default":"geometrically equivalent to"}},key:"224E"},{category:"Sm",mappings:{"default":{"default":"difference between"}},key:"224F"},{category:"Sm", +mappings:{"default":{"default":"approaches the limit"}},key:"2250"},{category:"Sm",mappings:{"default":{"default":"geometrically equal to"}},key:"2251"},{category:"Sm",mappings:{"default":{"default":"approximately equal to or the image of"}},key:"2252"},{category:"Sm",mappings:{"default":{"default":"image of or approximately equal to"}},key:"2253"},{category:"Sm",mappings:{"default":{"default":"colon equals",alternative:"colon equal"}},key:"2254"},{category:"Sm",mappings:{"default":{"default":"equals colon", +alternative:"equal colon"}},key:"2255"},{category:"Sm",mappings:{"default":{"default":"ring in equal to"}},key:"2256"},{category:"Sm",mappings:{"default":{"default":"ring equal to"}},key:"2257"},{category:"Sm",mappings:{"default":{"default":"corresponds to"}},key:"2258"},{category:"Sm",mappings:{"default":{"default":"estimates"}},key:"2259"},{category:"Sm",mappings:{"default":{"default":"equiangular to"}},key:"225A"},{category:"Sm",mappings:{"default":{"default":"star equals"}},key:"225B"},{category:"Sm", +mappings:{"default":{"default":"delta equal to"}},key:"225C"},{category:"Sm",mappings:{"default":{"default":"equal to by definition"}},key:"225D"},{category:"Sm",mappings:{"default":{"default":"measured by"}},key:"225E"},{category:"Sm",mappings:{"default":{"default":"questioned equal to"}},key:"225F"},{category:"Sm",mappings:{"default":{"default":"not equal to"}},key:"2260"},{category:"Sm",mappings:{"default":{"default":"identical to"}},key:"2261"},{category:"Sm",mappings:{"default":{"default":"not identical to"}}, +key:"2262"},{category:"Sm",mappings:{"default":{"default":"strictly equivalent to"}},key:"2263"},{category:"Sm",mappings:{"default":{"default":"less than or equal to",alternative:"less than or equal to"}},key:"2264"},{category:"Sm",mappings:{"default":{"default":"greater than or equal to",alternative:"greater than or equal to"}},key:"2265"},{category:"Sm",mappings:{"default":{"default":"less than over equal to",alternative:"less than over equal to"}},key:"2266"},{category:"Sm",mappings:{"default":{"default":"greater than over equal to", +alternative:"greater than over equal to"}},key:"2267"},{category:"Sm",mappings:{"default":{"default":"less than but not equal to",alternative:"less than but not equal to"}},key:"2268"},{category:"Sm",mappings:{"default":{"default":"greater than but not equal to",alternative:"greater than but not equal to"}},key:"2269"},{category:"Sm",mappings:{"default":{"default":"much less than",alternative:"much less than"}},key:"226A"},{category:"Sm",mappings:{"default":{"default":"much greater than",alternative:"much greater than"}}, +key:"226B"},{category:"Sm",mappings:{"default":{"default":"between"}},key:"226C"},{category:"Sm",mappings:{"default":{"default":"not equivalent to"}},key:"226D"},{category:"Sm",mappings:{"default":{"default":"not less than",alternative:"not less than"}},key:"226E"},{category:"Sm",mappings:{"default":{"default":"not greater than",alternative:"not greater than"}},key:"226F"},{category:"Sm",mappings:{"default":{"default":"neither less than nor equal to",alternative:"neither less than nor equal to"}}, +key:"2270"},{category:"Sm",mappings:{"default":{"default":"neither greater than nor equal to",alternative:"neither greater than nor equal to"}},key:"2271"},{category:"Sm",mappings:{"default":{"default":"less than or equivalent to",alternative:"less than or equivalent to"}},key:"2272"},{category:"Sm",mappings:{"default":{"default":"greater than or equivalent to",alternative:"greater than or equivalent to"}},key:"2273"},{category:"Sm",mappings:{"default":{"default":"neither less than nor equivalent to", +alternative:"neither less than nor equivalent to"}},key:"2274"},{category:"Sm",mappings:{"default":{"default":"neither greater than nor equivalent to",alternative:"neither greater than nor equivalent to"}},key:"2275"},{category:"Sm",mappings:{"default":{"default":"less than or greater than",alternative:"less than or greater than"}},key:"2276"},{category:"Sm",mappings:{"default":{"default":"greater than or less than",alternative:"greater than or less than"}},key:"2277"},{category:"Sm",mappings:{"default":{"default":"neither less than nor greater than", +alternative:"neither less than nor greater than"}},key:"2278"},{category:"Sm",mappings:{"default":{"default":"neither greater than nor less than",alternative:"neither greater than nor less than"}},key:"2279"},{category:"Sm",mappings:{"default":{"default":"precedes"}},key:"227A"},{category:"Sm",mappings:{"default":{"default":"succeeds"}},key:"227B"},{category:"Sm",mappings:{"default":{"default":"precedes or equal to"}},key:"227C"},{category:"Sm",mappings:{"default":{"default":"succeeds or equal to"}}, +key:"227D"},{category:"Sm",mappings:{"default":{"default":"precedes or equivalent to"}},key:"227E"},{category:"Sm",mappings:{"default":{"default":"succeeds or equivalent to"}},key:"227F"},{category:"Sm",mappings:{"default":{"default":"does not precede"}},key:"2280"},{category:"Sm",mappings:{"default":{"default":"does not succeed"}},key:"2281"},{category:"Sm",mappings:{"default":{"default":"subset of"}},key:"2282"},{category:"Sm",mappings:{"default":{"default":"superset of"}},key:"2283"},{category:"Sm", +mappings:{"default":{"default":"not a subset of"}},key:"2284"},{category:"Sm",mappings:{"default":{"default":"not a superset of"}},key:"2285"},{category:"Sm",mappings:{"default":{"default":"subset of or equal to"}},key:"2286"},{category:"Sm",mappings:{"default":{"default":"superset of or equal to"}},key:"2287"},{category:"Sm",mappings:{"default":{"default":"neither a subset of nor equal to"}},key:"2288"},{category:"Sm",mappings:{"default":{"default":"neither a superset of nor equal to"}},key:"2289"}, +{category:"Sm",mappings:{"default":{"default":"subset of with not equal to",alternative:"subset of or not equal to","short":"subset of or not equal to"}},key:"228A"},{category:"Sm",mappings:{"default":{"default":"superset of with not equal to",alternative:"superset of or not equal to","short":"superset of or not equal to"}},key:"228B"},{category:"Sm",mappings:{"default":{"default":"multiset"}},key:"228C"},{category:"Sm",mappings:{"default":{"default":"multiset multiplication"}},key:"228D"},{category:"Sm", +mappings:{"default":{"default":"multiset union"}},key:"228E"},{category:"Sm",mappings:{"default":{"default":"square image of"}},key:"228F"},{category:"Sm",mappings:{"default":{"default":"square original of"}},key:"2290"},{category:"Sm",mappings:{"default":{"default":"square image of or equal to"}},key:"2291"},{category:"Sm",mappings:{"default":{"default":"square original of or equal to"}},key:"2292"},{category:"Sm",mappings:{"default":{"default":"square cap"}},key:"2293"},{category:"Sm",mappings:{"default":{"default":"square cup"}}, +key:"2294"},{category:"Sm",mappings:{"default":{"default":"circled plus"}},key:"2295"},{category:"Sm",mappings:{"default":{"default":"circled minus"}},key:"2296"},{category:"Sm",mappings:{"default":{"default":"circled times"}},key:"2297"},{category:"Sm",mappings:{"default":{"default":"circled division slash"}},key:"2298"},{category:"Sm",mappings:{"default":{"default":"circled dot operator"}},key:"2299"},{category:"Sm",mappings:{"default":{"default":"circled ring operator"}},key:"229A"},{category:"Sm", +mappings:{"default":{"default":"circled asterisk operator"}},key:"229B"},{category:"Sm",mappings:{"default":{"default":"circled equals"}},key:"229C"},{category:"Sm",mappings:{"default":{"default":"circled dash"}},key:"229D"},{category:"Sm",mappings:{"default":{"default":"squared plus"}},key:"229E"},{category:"Sm",mappings:{"default":{"default":"squared minus"}},key:"229F"},{category:"Sm",mappings:{"default":{"default":"squared times"}},key:"22A0"},{category:"Sm",mappings:{"default":{"default":"squared dot operator"}}, +key:"22A1"},{category:"Sm",mappings:{"default":{"default":"right tack"}},key:"22A2"},{category:"Sm",mappings:{"default":{"default":"left tack"}},key:"22A3"},{category:"Sm",mappings:{"default":{"default":"down tack"}},key:"22A4"},{category:"Sm",mappings:{"default":{"default":"up tack"}},key:"22A5"},{category:"Sm",mappings:{"default":{"default":"assertion"}},key:"22A6"},{category:"Sm",mappings:{"default":{"default":"models"}},key:"22A7"},{category:"Sm",mappings:{"default":{"default":"true"}},key:"22A8"}, +{category:"Sm",mappings:{"default":{"default":"forces"}},key:"22A9"},{category:"Sm",mappings:{"default":{"default":"triple vertical bar right turnstile"}},key:"22AA"},{category:"Sm",mappings:{"default":{"default":"double vertical bar double right turnstile"}},key:"22AB"},{category:"Sm",mappings:{"default":{"default":"does not prove"}},key:"22AC"},{category:"Sm",mappings:{"default":{"default":"not true"}},key:"22AD"},{category:"Sm",mappings:{"default":{"default":"does not force"}},key:"22AE"},{category:"Sm", +mappings:{"default":{"default":"negated double vertical bar double right turnstile"}},key:"22AF"},{category:"Sm",mappings:{"default":{"default":"precedes under relation"}},key:"22B0"},{category:"Sm",mappings:{"default":{"default":"succeeds under relation"}},key:"22B1"},{category:"Sm",mappings:{"default":{"default":"normal subgroup of"}},key:"22B2"},{category:"Sm",mappings:{"default":{"default":"contains as normal subgroup"}},key:"22B3"},{category:"Sm",mappings:{"default":{"default":"normal subgroup of or equal to"}}, +key:"22B4"},{category:"Sm",mappings:{"default":{"default":"contains as normal subgroup or equal to"}},key:"22B5"},{category:"Sm",mappings:{"default":{"default":"original of"}},key:"22B6"},{category:"Sm",mappings:{"default":{"default":"image of"}},key:"22B7"},{category:"Sm",mappings:{"default":{"default":"multimap"}},key:"22B8"},{category:"Sm",mappings:{"default":{"default":"hermitian conjugate matrix"}},key:"22B9"},{category:"Sm",mappings:{"default":{"default":"intercalate"}},key:"22BA"},{category:"Sm", +mappings:{"default":{"default":"xor"}},key:"22BB"},{category:"Sm",mappings:{"default":{"default":"nand"}},key:"22BC"},{category:"Sm",mappings:{"default":{"default":"nor"}},key:"22BD"},{category:"Sm",mappings:{"default":{"default":"right triangle"}},key:"22BF"},{category:"Sm",mappings:{"default":{"default":"n ary logical and"}},key:"22C0"},{category:"Sm",mappings:{"default":{"default":"n ary logical or"}},key:"22C1"},{category:"Sm",mappings:{"default":{"default":"n ary intersection"}},key:"22C2"}, +{category:"Sm",mappings:{"default":{"default":"n ary union"}},key:"22C3"},{category:"Sm",mappings:{"default":{"default":"diamond operator"}},key:"22C4"},{category:"Sm",mappings:{"default":{"default":"dot operator"}},key:"22C5"},{category:"Sm",mappings:{"default":{"default":"star operator"}},key:"22C6"},{category:"Sm",mappings:{"default":{"default":"division times"}},key:"22C7"},{category:"Sm",mappings:{"default":{"default":"bowtie"}},key:"22C8"},{category:"Sm",mappings:{"default":{"default":"left normal factor semidirect product"}}, +key:"22C9"},{category:"Sm",mappings:{"default":{"default":"right normal factor semidirect product"}},key:"22CA"},{category:"Sm",mappings:{"default":{"default":"left semidirect product"}},key:"22CB"},{category:"Sm",mappings:{"default":{"default":"right semidirect product"}},key:"22CC"},{category:"Sm",mappings:{"default":{"default":"reversed tilde equals"}},key:"22CD"},{category:"Sm",mappings:{"default":{"default":"curly logical or"}},key:"22CE"},{category:"Sm",mappings:{"default":{"default":"curly logical and"}}, +key:"22CF"},{category:"Sm",mappings:{"default":{"default":"double subset"}},key:"22D0"},{category:"Sm",mappings:{"default":{"default":"double superset"}},key:"22D1"},{category:"Sm",mappings:{"default":{"default":"double intersection"}},key:"22D2"},{category:"Sm",mappings:{"default":{"default":"double union"}},key:"22D3"},{category:"Sm",mappings:{"default":{"default":"pitchfork"}},key:"22D4"},{category:"Sm",mappings:{"default":{"default":"equal and parallel to"}},key:"22D5"},{category:"Sm",mappings:{"default":{"default":"less than with dot", +alternative:"less than with dot","short":"less than dot"}},key:"22D6"},{category:"Sm",mappings:{"default":{"default":"greater than with dot",alternative:"greater than with dot","short":"greater than dot"}},key:"22D7"},{category:"Sm",mappings:{"default":{"default":"very much less than",alternative:"very much less than"}},key:"22D8"},{category:"Sm",mappings:{"default":{"default":"very much greater than",alternative:"very much greater than"}},key:"22D9"},{category:"Sm",mappings:{"default":{"default":"less than equal to or greater than", +alternative:"less than equal to or greater than"}},key:"22DA"},{category:"Sm",mappings:{"default":{"default":"greater than equal to or less than",alternative:"greater than equal to or less than"}},key:"22DB"},{category:"Sm",mappings:{"default":{"default":"equal to or less than",alternative:"equal to or less than"}},key:"22DC"},{category:"Sm",mappings:{"default":{"default":"equal to or greater than",alternative:"equal to or greater than"}},key:"22DD"},{category:"Sm",mappings:{"default":{"default":"equal to or precedes"}}, +key:"22DE"},{category:"Sm",mappings:{"default":{"default":"equal to or succeeds"}},key:"22DF"},{category:"Sm",mappings:{"default":{"default":"does not precede or equal"}},key:"22E0"},{category:"Sm",mappings:{"default":{"default":"does not succeed or equal"}},key:"22E1"},{category:"Sm",mappings:{"default":{"default":"not square image of or equal to"}},key:"22E2"},{category:"Sm",mappings:{"default":{"default":"not square original of or equal to"}},key:"22E3"},{category:"Sm",mappings:{"default":{"default":"square image of or not equal to"}}, +key:"22E4"},{category:"Sm",mappings:{"default":{"default":"square original of or not equal to"}},key:"22E5"},{category:"Sm",mappings:{"default":{"default":"less than but not equivalent to",alternative:"less than but not equivalent to"}},key:"22E6"},{category:"Sm",mappings:{"default":{"default":"greater than but not equivalent to",alternative:"greater than but not equivalent to"}},key:"22E7"},{category:"Sm",mappings:{"default":{"default":"precedes but not equivalent to"}},key:"22E8"},{category:"Sm", +mappings:{"default":{"default":"succeeds but not equivalent to"}},key:"22E9"},{category:"Sm",mappings:{"default":{"default":"not normal subgroup of"}},key:"22EA"},{category:"Sm",mappings:{"default":{"default":"does not contain as normal subgroup"}},key:"22EB"},{category:"Sm",mappings:{"default":{"default":"not normal subgroup of or equal to"}},key:"22EC"},{category:"Sm",mappings:{"default":{"default":"does not contain as normal subgroup or equal"}},key:"22ED"},{category:"Sm",mappings:{"default":{"default":"vertical ellipsis", +"short":"dot dot dot"}},key:"22EE"},{category:"Sm",mappings:{"default":{"default":"midline horizontal ellipsis","short":"dot dot dot"}},key:"22EF"},{category:"Sm",mappings:{"default":{"default":"up right diagonal ellipsis","short":"diagonal dot dot dot"}},key:"22F0"},{category:"Sm",mappings:{"default":{"default":"down right diagonal ellipsis","short":"diagonal dot dot dot"}},key:"22F1"},{category:"Sm",mappings:{"default":{"default":"element of with long horizontal stroke"}},key:"22F2"},{category:"Sm", +mappings:{"default":{"default":"element of with vertical bar at end of horizontal stroke"}},key:"22F3"},{category:"Sm",mappings:{"default":{"default":"small element of with vertical bar at end of horizontal stroke"}},key:"22F4"},{category:"Sm",mappings:{"default":{"default":"element of with dot above"}},key:"22F5"},{category:"Sm",mappings:{"default":{"default":"element of with overbar"}},key:"22F6"},{category:"Sm",mappings:{"default":{"default":"small element of with overbar"}},key:"22F7"},{category:"Sm", +mappings:{"default":{"default":"element of with underbar"}},key:"22F8"},{category:"Sm",mappings:{"default":{"default":"element of with two horizontal strokes"}},key:"22F9"},{category:"Sm",mappings:{"default":{"default":"contains with long horizontal stroke"}},key:"22FA"},{category:"Sm",mappings:{"default":{"default":"contains with vertical bar at end of horizontal stroke"}},key:"22FB"},{category:"Sm",mappings:{"default":{"default":"small contains with vertical bar at end of horizontal stroke"}},key:"22FC"}, +{category:"Sm",mappings:{"default":{"default":"contains with overbar"}},key:"22FD"},{category:"Sm",mappings:{"default":{"default":"small contains with overbar"}},key:"22FE"},{category:"Sm",mappings:{"default":{"default":"z notation bag membership"}},key:"22FF"},{category:"So",mappings:{"default":{"default":"diameter sign","short":"diameter"}},key:"2300"},{category:"So",mappings:{"default":{"default":"house"}},key:"2302"},{category:"So",mappings:{"default":{"default":"projective"}},key:"2305"},{category:"So", +mappings:{"default":{"default":"perspective"}},key:"2306"},{category:"So",mappings:{"default":{"default":"wavy line"}},key:"2307"},{category:"So",mappings:{"default":{"default":"reversed not sign","short":"reversed not"}},key:"2310"},{category:"So",mappings:{"default":{"default":"square lozenge"}},key:"2311"},{category:"So",mappings:{"default":{"default":"arc"}},key:"2312"},{category:"So",mappings:{"default":{"default":"segment"}},key:"2313"},{category:"So",mappings:{"default":{"default":"sector"}}, +key:"2314"},{category:"So",mappings:{"default":{"default":"heavy plus sign",alternative:"heavy plus","short":"bold plus"}},key:"2795"},{category:"So",mappings:{"default":{"default":"heavy minus sign",alternative:"heavy minus","short":"bold minus"}},key:"2796"},{category:"So",mappings:{"default":{"default":"heavy division sign",alternative:"heavy division","short":"bold division"}},key:"2797"},{category:"So",mappings:{"default":{"default":"curly loop"}},key:"27B0"},{category:"So",mappings:{"default":{"default":"double curly loop"}}, +key:"27BF"},{category:"Sm",mappings:{"default":{"default":"white triangle containing small white triangle"}},key:"27C1"},{category:"Sm",mappings:{"default":{"default":"perpendicular"}},key:"27C2"},{category:"Sm",mappings:{"default":{"default":"open subset"}},key:"27C3"},{category:"Sm",mappings:{"default":{"default":"open superset"}},key:"27C4"},{category:"Sm",mappings:{"default":{"default":"or with dot inside"}},key:"27C7"},{category:"Sm",mappings:{"default":{"default":"reverse solidus preceding subset"}}, +key:"27C8"},{category:"Sm",mappings:{"default":{"default":"superset preceding solidus"}},key:"27C9"},{category:"Sm",mappings:{"default":{"default":"vertical bar with horizontal stroke"}},key:"27CA"},{category:"Sm",mappings:{"default":{"default":"mathematical rising diagonal"}},key:"27CB"},{category:"Sm",mappings:{"default":{"default":"long division"}},key:"27CC"},{category:"Sm",mappings:{"default":{"default":"mathematical falling diagonal"}},key:"27CD"},{category:"Sm",mappings:{"default":{"default":"squared logical and"}}, +key:"27CE"},{category:"Sm",mappings:{"default":{"default":"squared logical or"}},key:"27CF"},{category:"Sm",mappings:{"default":{"default":"white diamond with centered dot"}},key:"27D0"},{category:"Sm",mappings:{"default":{"default":"and with dot"}},key:"27D1"},{category:"Sm",mappings:{"default":{"default":"element of opening upwards"}},key:"27D2"},{category:"Sm",mappings:{"default":{"default":"lower right corner with dot"}},key:"27D3"},{category:"Sm",mappings:{"default":{"default":"upper left corner with dot"}}, +key:"27D4"},{category:"Sm",mappings:{"default":{"default":"left outer join"}},key:"27D5"},{category:"Sm",mappings:{"default":{"default":"right outer join"}},key:"27D6"},{category:"Sm",mappings:{"default":{"default":"full outer join"}},key:"27D7"},{category:"Sm",mappings:{"default":{"default":"large up tack"}},key:"27D8"},{category:"Sm",mappings:{"default":{"default":"large down tack"}},key:"27D9"},{category:"Sm",mappings:{"default":{"default":"left and right double turnstile"}},key:"27DA"},{category:"Sm", +mappings:{"default":{"default":"left and right tack"}},key:"27DB"},{category:"Sm",mappings:{"default":{"default":"left multimap"}},key:"27DC"},{category:"Sm",mappings:{"default":{"default":"long right tack"}},key:"27DD"},{category:"Sm",mappings:{"default":{"default":"long left tack"}},key:"27DE"},{category:"Sm",mappings:{"default":{"default":"up tack with circle above"}},key:"27DF"},{category:"Sm",mappings:{"default":{"default":"lozenge divided by horizontal rule"}},key:"27E0"},{category:"Sm",mappings:{"default":{"default":"white concave sided diamond"}}, +key:"27E1"},{category:"Sm",mappings:{"default":{"default":"white concave sided diamond with leftwards tick"}},key:"27E2"},{category:"Sm",mappings:{"default":{"default":"white concave sided diamond with rightwards tick"}},key:"27E3"},{category:"Sm",mappings:{"default":{"default":"white square with leftwards tick"}},key:"27E4"},{category:"Sm",mappings:{"default":{"default":"white square with rightwards tick"}},key:"27E5"},{category:"Sm",mappings:{"default":{"default":"rising diagonal crossing falling diagonal"}}, +key:"292B"},{category:"Sm",mappings:{"default":{"default":"falling diagonal crossing rising diagonal"}},key:"292C"},{category:"Sm",mappings:{"default":{"default":"triple vertical bar delimiter"}},key:"2980"},{category:"Sm",mappings:{"default":{"default":"z notation spot"}},key:"2981"},{category:"Sm",mappings:{"default":{"default":"z notation type colon"}},key:"2982"},{category:"Sm",mappings:{"default":{"default":"dotted fence"}},key:"2999"},{category:"Sm",mappings:{"default":{"default":"vertical zigzag line"}}, +key:"299A"},{category:"Sm",mappings:{"default":{"default":"reversed empty set"}},key:"29B0"},{category:"Sm",mappings:{"default":{"default":"empty set with overbar"}},key:"29B1"},{category:"Sm",mappings:{"default":{"default":"empty set with small circle above"}},key:"29B2"},{category:"Sm",mappings:{"default":{"default":"circle with horizontal bar"}},key:"29B5"},{category:"Sm",mappings:{"default":{"default":"circled vertical bar"}},key:"29B6"},{category:"Sm",mappings:{"default":{"default":"circled parallel"}}, +key:"29B7"},{category:"Sm",mappings:{"default":{"default":"circled reverse solidus"}},key:"29B8"},{category:"Sm",mappings:{"default":{"default":"circled perpendicular"}},key:"29B9"},{category:"Sm",mappings:{"default":{"default":"circle divided by horizontal bar and top half divided by vertical bar"}},key:"29BA"},{category:"Sm",mappings:{"default":{"default":"circle with superimposed x"}},key:"29BB"},{category:"Sm",mappings:{"default":{"default":"circled anticlockwise rotated division sign","short":"circled anticlockwise rotated division"}}, +key:"29BC"},{category:"Sm",mappings:{"default":{"default":"circled white bullet"}},key:"29BE"},{category:"Sm",mappings:{"default":{"default":"circled bullet"}},key:"29BF"},{category:"Sm",mappings:{"default":{"default":"circled less than"}},key:"29C0"},{category:"Sm",mappings:{"default":{"default":"circled greater than"}},key:"29C1"},{category:"Sm",mappings:{"default":{"default":"circle with small circle to the right"}},key:"29C2"},{category:"Sm",mappings:{"default":{"default":"circle with two horizontal strokes to the right"}}, +key:"29C3"},{category:"Sm",mappings:{"default":{"default":"squared rising diagonal slash"}},key:"29C4"},{category:"Sm",mappings:{"default":{"default":"squared falling diagonal slash"}},key:"29C5"},{category:"Sm",mappings:{"default":{"default":"squared asterisk"}},key:"29C6"},{category:"Sm",mappings:{"default":{"default":"squared small circle"}},key:"29C7"},{category:"Sm",mappings:{"default":{"default":"squared square"}},key:"29C8"},{category:"Sm",mappings:{"default":{"default":"two joined squares"}}, +key:"29C9"},{category:"Sm",mappings:{"default":{"default":"triangle with dot above"}},key:"29CA"},{category:"Sm",mappings:{"default":{"default":"triangle with underbar"}},key:"29CB"},{category:"Sm",mappings:{"default":{"default":"s in triangle"}},key:"29CC"},{category:"Sm",mappings:{"default":{"default":"triangle with serifs at bottom"}},key:"29CD"},{category:"Sm",mappings:{"default":{"default":"right triangle above left triangle"}},key:"29CE"},{category:"Sm",mappings:{"default":{"default":"left triangle beside vertical bar"}}, +key:"29CF"},{category:"Sm",mappings:{"default":{"default":"vertical bar beside right triangle"}},key:"29D0"},{category:"Sm",mappings:{"default":{"default":"bowtie with left half black"}},key:"29D1"},{category:"Sm",mappings:{"default":{"default":"bowtie with right half black"}},key:"29D2"},{category:"Sm",mappings:{"default":{"default":"black bowtie"}},key:"29D3"},{category:"Sm",mappings:{"default":{"default":"times with left half black"}},key:"29D4"},{category:"Sm",mappings:{"default":{"default":"times with right half black"}}, +key:"29D5"},{category:"Sm",mappings:{"default":{"default":"white hourglass"}},key:"29D6"},{category:"Sm",mappings:{"default":{"default":"black hourglass"}},key:"29D7"},{category:"Sm",mappings:{"default":{"default":"incomplete infinity"}},key:"29DC"},{category:"Sm",mappings:{"default":{"default":"tie over infinity"}},key:"29DD"},{category:"Sm",mappings:{"default":{"default":"infinity negated with vertical bar"}},key:"29DE"},{category:"Sm",mappings:{"default":{"default":"double ended multimap"}},key:"29DF"}, +{category:"Sm",mappings:{"default":{"default":"square with contoured outline"}},key:"29E0"},{category:"Sm",mappings:{"default":{"default":"increases as"}},key:"29E1"},{category:"Sm",mappings:{"default":{"default":"shuffle product"}},key:"29E2"},{category:"Sm",mappings:{"default":{"default":"equals sign and slanted parallel"}},key:"29E3"},{category:"Sm",mappings:{"default":{"default":"equals sign and slanted parallel with tilde above"}},key:"29E4"},{category:"Sm",mappings:{"default":{"default":"identical to and slanted parallel"}}, +key:"29E5"},{category:"Sm",mappings:{"default":{"default":"gleich stark"}},key:"29E6"},{category:"Sm",mappings:{"default":{"default":"thermodynamic"}},key:"29E7"},{category:"Sm",mappings:{"default":{"default":"down pointing triangle with left half black"}},key:"29E8"},{category:"Sm",mappings:{"default":{"default":"down pointing triangle with right half black"}},key:"29E9"},{category:"Sm",mappings:{"default":{"default":"black lozenge"}},key:"29EB"},{category:"Sm",mappings:{"default":{"default":"error barred white square"}}, +key:"29EE"},{category:"Sm",mappings:{"default":{"default":"error barred black square"}},key:"29EF"},{category:"Sm",mappings:{"default":{"default":"error barred white diamond"}},key:"29F0"},{category:"Sm",mappings:{"default":{"default":"error barred black diamond"}},key:"29F1"},{category:"Sm",mappings:{"default":{"default":"error barred white circle"}},key:"29F2"},{category:"Sm",mappings:{"default":{"default":"error barred black circle"}},key:"29F3"},{category:"Sm",mappings:{"default":{"default":"rule delayed"}}, +key:"29F4"},{category:"Sm",mappings:{"default":{"default":"reverse solidus operator"}},key:"29F5"},{category:"Sm",mappings:{"default":{"default":"solidus with overbar"}},key:"29F6"},{category:"Sm",mappings:{"default":{"default":"reverse solidus with horizontal stroke"}},key:"29F7"},{category:"Sm",mappings:{"default":{"default":"big solidus"}},key:"29F8"},{category:"Sm",mappings:{"default":{"default":"big reverse solidus"}},key:"29F9"},{category:"Sm",mappings:{"default":{"default":"double plus"}}, +key:"29FA"},{category:"Sm",mappings:{"default":{"default":"triple plus"}},key:"29FB"},{category:"Sm",mappings:{"default":{"default":"tiny"}},key:"29FE"},{category:"Sm",mappings:{"default":{"default":"miny"}},key:"29FF"},{category:"Sm",mappings:{"default":{"default":"n ary circled dot operator"}},key:"2A00"},{category:"Sm",mappings:{"default":{"default":"n ary circled plus operator"}},key:"2A01"},{category:"Sm",mappings:{"default":{"default":"n ary circled times operator"}},key:"2A02"},{category:"Sm", +mappings:{"default":{"default":"n ary union operator with dot"}},key:"2A03"},{category:"Sm",mappings:{"default":{"default":"n ary union operator with plus"}},key:"2A04"},{category:"Sm",mappings:{"default":{"default":"n ary square intersection operator"}},key:"2A05"},{category:"Sm",mappings:{"default":{"default":"n ary square union operator"}},key:"2A06"},{category:"Sm",mappings:{"default":{"default":"two logical and operator"}},key:"2A07"},{category:"Sm",mappings:{"default":{"default":"two logical or operator"}}, +key:"2A08"},{category:"Sm",mappings:{"default":{"default":"n ary times operator"}},key:"2A09"},{category:"Sm",mappings:{"default":{"default":"modulo two sum"}},key:"2A0A"},{category:"Sm",mappings:{"default":{"default":"summation with integral"}},key:"2A0B"},{category:"Sm",mappings:{"default":{"default":"quadruple integral operator"}},key:"2A0C"},{category:"Sm",mappings:{"default":{"default":"finite part integral"}},key:"2A0D"},{category:"Sm",mappings:{"default":{"default":"integral with double stroke"}}, +key:"2A0E"},{category:"Sm",mappings:{"default":{"default":"integral average with slash"}},key:"2A0F"},{category:"Sm",mappings:{"default":{"default":"circulation function"}},key:"2A10"},{category:"Sm",mappings:{"default":{"default":"anticlockwise integration"}},key:"2A11"},{category:"Sm",mappings:{"default":{"default":"line integration with rectangular path around pole"}},key:"2A12"},{category:"Sm",mappings:{"default":{"default":"line integration with semicircular path around pole"}},key:"2A13"},{category:"Sm", +mappings:{"default":{"default":"line integration not including the pole"}},key:"2A14"},{category:"Sm",mappings:{"default":{"default":"integral around a point operator"}},key:"2A15"},{category:"Sm",mappings:{"default":{"default":"quaternion integral operator"}},key:"2A16"},{category:"Sm",mappings:{"default":{"default":"integral with times sign","short":"integral with times"}},key:"2A18"},{category:"Sm",mappings:{"default":{"default":"integral with intersection"}},key:"2A19"},{category:"Sm",mappings:{"default":{"default":"integral with union"}}, +key:"2A1A"},{category:"Sm",mappings:{"default":{"default":"integral with overbar"}},key:"2A1B"},{category:"Sm",mappings:{"default":{"default":"integral with underbar"}},key:"2A1C"},{category:"Sm",mappings:{"default":{"default":"join"}},key:"2A1D"},{category:"Sm",mappings:{"default":{"default":"large left triangle operator"}},key:"2A1E"},{category:"Sm",mappings:{"default":{"default":"z notation schema composition"}},key:"2A1F"},{category:"Sm",mappings:{"default":{"default":"z notation schema piping"}}, +key:"2A20"},{category:"Sm",mappings:{"default":{"default":"z notation schema projection"}},key:"2A21"},{category:"Sm",mappings:{"default":{"default":"plus sign with small circle above","short":"plus with circle above"}},key:"2A22"},{category:"Sm",mappings:{"default":{"default":"plus sign with circumflex accent above","short":"plus hat"}},key:"2A23"},{category:"Sm",mappings:{"default":{"default":"plus sign with tilde above","short":"plus tilde"}},key:"2A24"},{category:"Sm",mappings:{"default":{"default":"plus sign with dot below", +"short":"plus underdot"}},key:"2A25"},{category:"Sm",mappings:{"default":{"default":"plus sign with tilde below"}},key:"2A26"},{category:"Sm",mappings:{"default":{"default":"plus sign with subscript two"}},key:"2A27"},{category:"Sm",mappings:{"default":{"default":"plus sign with black triangle"}},key:"2A28"},{category:"Sm",mappings:{"default":{"default":"minus sign with comma above"}},key:"2A29"},{category:"Sm",mappings:{"default":{"default":"minus sign with dot below"}},key:"2A2A"},{category:"Sm", +mappings:{"default":{"default":"minus sign with falling dots"}},key:"2A2B"},{category:"Sm",mappings:{"default":{"default":"minus sign with rising dots"}},key:"2A2C"},{category:"Sm",mappings:{"default":{"default":"plus sign in left half circle"}},key:"2A2D"},{category:"Sm",mappings:{"default":{"default":"plus sign in right half circle"}},key:"2A2E"},{category:"Sm",mappings:{"default":{"default":"vector or cross product"}},key:"2A2F"},{category:"Sm",mappings:{"default":{"default":"multiplication sign with dot above"}}, +key:"2A30"},{category:"Sm",mappings:{"default":{"default":"multiplication sign with underbar"}},key:"2A31"},{category:"Sm",mappings:{"default":{"default":"semidirect product with bottom closed"}},key:"2A32"},{category:"Sm",mappings:{"default":{"default":"smash product"}},key:"2A33"},{category:"Sm",mappings:{"default":{"default":"multiplication sign in left half circle"}},key:"2A34"},{category:"Sm",mappings:{"default":{"default":"multiplication sign in right half circle"}},key:"2A35"},{category:"Sm", +mappings:{"default":{"default":"circled multiplication sign with circumflex accent"}},key:"2A36"},{category:"Sm",mappings:{"default":{"default":"multiplication sign in double circle"}},key:"2A37"},{category:"Sm",mappings:{"default":{"default":"circled division sign","short":"circled division"}},key:"2A38"},{category:"Sm",mappings:{"default":{"default":"plus sign in triangle"}},key:"2A39"},{category:"Sm",mappings:{"default":{"default":"minus sign in triangle"}},key:"2A3A"},{category:"Sm",mappings:{"default":{"default":"multiplication sign in triangle"}}, +key:"2A3B"},{category:"Sm",mappings:{"default":{"default":"interior product"}},key:"2A3C"},{category:"Sm",mappings:{"default":{"default":"righthand interior product"}},key:"2A3D"},{category:"Sm",mappings:{"default":{"default":"z notation relational composition"}},key:"2A3E"},{category:"Sm",mappings:{"default":{"default":"amalgamation or coproduct"}},key:"2A3F"},{category:"Sm",mappings:{"default":{"default":"intersection with dot"}},key:"2A40"},{category:"Sm",mappings:{"default":{"default":"union with minus sign", +"short":"union with minus"}},key:"2A41"},{category:"Sm",mappings:{"default":{"default":"union with overbar"}},key:"2A42"},{category:"Sm",mappings:{"default":{"default":"intersection with overbar"}},key:"2A43"},{category:"Sm",mappings:{"default":{"default":"intersection with logical and"}},key:"2A44"},{category:"Sm",mappings:{"default":{"default":"union with logical or"}},key:"2A45"},{category:"Sm",mappings:{"default":{"default":"union above intersection"}},key:"2A46"},{category:"Sm",mappings:{"default":{"default":"intersection above union"}}, +key:"2A47"},{category:"Sm",mappings:{"default":{"default":"union above bar above intersection"}},key:"2A48"},{category:"Sm",mappings:{"default":{"default":"intersection above bar above union"}},key:"2A49"},{category:"Sm",mappings:{"default":{"default":"union beside and joined with union"}},key:"2A4A"},{category:"Sm",mappings:{"default":{"default":"intersection beside and joined with intersection"}},key:"2A4B"},{category:"Sm",mappings:{"default":{"default":"closed union with serifs"}},key:"2A4C"}, +{category:"Sm",mappings:{"default":{"default":"closed intersection with serifs"}},key:"2A4D"},{category:"Sm",mappings:{"default":{"default":"double square intersection"}},key:"2A4E"},{category:"Sm",mappings:{"default":{"default":"double square union"}},key:"2A4F"},{category:"Sm",mappings:{"default":{"default":"closed union with serifs and smash product"}},key:"2A50"},{category:"Sm",mappings:{"default":{"default":"logical and with dot above"}},key:"2A51"},{category:"Sm",mappings:{"default":{"default":"logical or with dot above"}}, +key:"2A52"},{category:"Sm",mappings:{"default":{"default":"double logical and"}},key:"2A53"},{category:"Sm",mappings:{"default":{"default":"double logical or"}},key:"2A54"},{category:"Sm",mappings:{"default":{"default":"two intersecting logical and"}},key:"2A55"},{category:"Sm",mappings:{"default":{"default":"two intersecting logical or"}},key:"2A56"},{category:"Sm",mappings:{"default":{"default":"sloping large or"}},key:"2A57"},{category:"Sm",mappings:{"default":{"default":"sloping large and"}}, +key:"2A58"},{category:"Sm",mappings:{"default":{"default":"logical or overlapping logical and"}},key:"2A59"},{category:"Sm",mappings:{"default":{"default":"logical and with middle stem"}},key:"2A5A"},{category:"Sm",mappings:{"default":{"default":"logical or with middle stem"}},key:"2A5B"},{category:"Sm",mappings:{"default":{"default":"logical and with horizontal dash"}},key:"2A5C"},{category:"Sm",mappings:{"default":{"default":"logical or with horizontal dash"}},key:"2A5D"},{category:"Sm",mappings:{"default":{"default":"logical and with double overbar"}}, +key:"2A5E"},{category:"Sm",mappings:{"default":{"default":"logical and with underbar"}},key:"2A5F"},{category:"Sm",mappings:{"default":{"default":"logical and with double underbar"}},key:"2A60"},{category:"Sm",mappings:{"default":{"default":"small vee with underbar"}},key:"2A61"},{category:"Sm",mappings:{"default":{"default":"logical or with double overbar"}},key:"2A62"},{category:"Sm",mappings:{"default":{"default":"logical or with double underbar"}},key:"2A63"},{category:"Sm",mappings:{"default":{"default":"z notation domain antirestriction"}}, +key:"2A64"},{category:"Sm",mappings:{"default":{"default":"z notation range antirestriction"}},key:"2A65"},{category:"Sm",mappings:{"default":{"default":"equals sign with dot below"}},key:"2A66"},{category:"Sm",mappings:{"default":{"default":"identical with dot above"}},key:"2A67"},{category:"Sm",mappings:{"default":{"default":"triple horizontal bar with double vertical stroke"}},key:"2A68"},{category:"Sm",mappings:{"default":{"default":"triple horizontal bar with triple vertical stroke"}},key:"2A69"}, +{category:"Sm",mappings:{"default":{"default":"tilde operator with dot above"}},key:"2A6A"},{category:"Sm",mappings:{"default":{"default":"tilde operator with rising dots"}},key:"2A6B"},{category:"Sm",mappings:{"default":{"default":"similar minus similar"}},key:"2A6C"},{category:"Sm",mappings:{"default":{"default":"congruent with dot above"}},key:"2A6D"},{category:"Sm",mappings:{"default":{"default":"equals with asterisk"}},key:"2A6E"},{category:"Sm",mappings:{"default":{"default":"almost equal to with circumflex accent", +"short":"almost equal hat"}},key:"2A6F"},{category:"Sm",mappings:{"default":{"default":"approximately equal or equal to"}},key:"2A70"},{category:"Sm",mappings:{"default":{"default":"equals sign above plus sign","short":"equals above plus"}},key:"2A71"},{category:"Sm",mappings:{"default":{"default":"plus sign above equals sign","short":"plus above equals"}},key:"2A72"},{category:"Sm",mappings:{"default":{"default":"equals sign above tilde operator","short":"equals above tilde operator"}},key:"2A73"}, +{category:"Sm",mappings:{"default":{"default":"double colon equal"}},key:"2A74"},{category:"Sm",mappings:{"default":{"default":"two consecutive equals signs","short":"two consecutive equals"}},key:"2A75"},{category:"Sm",mappings:{"default":{"default":"three consecutive equals signs","short":"three consecutive equals"}},key:"2A76"},{category:"Sm",mappings:{"default":{"default":"equals sign with two dots above and two dots below"}},key:"2A77"},{category:"Sm",mappings:{"default":{"default":"equivalent with four dots above"}}, +key:"2A78"},{category:"Sm",mappings:{"default":{"default":"less than with circle inside"}},key:"2A79"},{category:"Sm",mappings:{"default":{"default":"greater than with circle inside"}},key:"2A7A"},{category:"Sm",mappings:{"default":{"default":"less than with question mark above"}},key:"2A7B"},{category:"Sm",mappings:{"default":{"default":"greater than with question mark above"}},key:"2A7C"},{category:"Sm",mappings:{"default":{"default":"less than or slanted equal to"}},key:"2A7D"},{category:"Sm", +mappings:{"default":{"default":"greater than or slanted equal to"}},key:"2A7E"},{category:"Sm",mappings:{"default":{"default":"less than or slanted equal to with dot inside"}},key:"2A7F"},{category:"Sm",mappings:{"default":{"default":"greater than or slanted equal to with dot inside"}},key:"2A80"},{category:"Sm",mappings:{"default":{"default":"less than or slanted equal to with dot above"}},key:"2A81"},{category:"Sm",mappings:{"default":{"default":"greater than or slanted equal to with dot above"}}, +key:"2A82"},{category:"Sm",mappings:{"default":{"default":"less than or slanted equal to with dot above right"}},key:"2A83"},{category:"Sm",mappings:{"default":{"default":"greater than or slanted equal to with dot above left"}},key:"2A84"},{category:"Sm",mappings:{"default":{"default":"less than or approximate"}},key:"2A85"},{category:"Sm",mappings:{"default":{"default":"greater than or approximate"}},key:"2A86"},{category:"Sm",mappings:{"default":{"default":"less than and single line not equal to"}}, +key:"2A87"},{category:"Sm",mappings:{"default":{"default":"greater than and single line not equal to"}},key:"2A88"},{category:"Sm",mappings:{"default":{"default":"less than and not approximate"}},key:"2A89"},{category:"Sm",mappings:{"default":{"default":"greater than and not approximate"}},key:"2A8A"},{category:"Sm",mappings:{"default":{"default":"less than above double line equal above greater than"}},key:"2A8B"},{category:"Sm",mappings:{"default":{"default":"greater than above double line equal above less than"}}, +key:"2A8C"},{category:"Sm",mappings:{"default":{"default":"less than above similar or equal"}},key:"2A8D"},{category:"Sm",mappings:{"default":{"default":"greater than above similar or equal"}},key:"2A8E"},{category:"Sm",mappings:{"default":{"default":"less than above similar above greater than"}},key:"2A8F"},{category:"Sm",mappings:{"default":{"default":"greater than above similar above less than"}},key:"2A90"},{category:"Sm",mappings:{"default":{"default":"less than above greater than above double line equal"}}, +key:"2A91"},{category:"Sm",mappings:{"default":{"default":"greater than above less than above double line equal"}},key:"2A92"},{category:"Sm",mappings:{"default":{"default":"less than above slanted equal above greater than above slanted equal"}},key:"2A93"},{category:"Sm",mappings:{"default":{"default":"greater than above slanted equal above less than above slanted equal"}},key:"2A94"},{category:"Sm",mappings:{"default":{"default":"slanted equal to or less than"}},key:"2A95"},{category:"Sm",mappings:{"default":{"default":"slanted equal to or greater than"}}, +key:"2A96"},{category:"Sm",mappings:{"default":{"default":"slanted equal to or less than with dot inside"}},key:"2A97"},{category:"Sm",mappings:{"default":{"default":"slanted equal to or greater than with dot inside"}},key:"2A98"},{category:"Sm",mappings:{"default":{"default":"double line equal to or less than"}},key:"2A99"},{category:"Sm",mappings:{"default":{"default":"double line equal to or greater than"}},key:"2A9A"},{category:"Sm",mappings:{"default":{"default":"double line slanted equal to or less than"}}, +key:"2A9B"},{category:"Sm",mappings:{"default":{"default":"double line slanted equal to or greater than"}},key:"2A9C"},{category:"Sm",mappings:{"default":{"default":"similar or less than"}},key:"2A9D"},{category:"Sm",mappings:{"default":{"default":"similar or greater than"}},key:"2A9E"},{category:"Sm",mappings:{"default":{"default":"similar above less than above equals sign"}},key:"2A9F"},{category:"Sm",mappings:{"default":{"default":"similar above greater than above equals sign"}},key:"2AA0"},{category:"Sm", +mappings:{"default":{"default":"double nested less than"}},key:"2AA1"},{category:"Sm",mappings:{"default":{"default":"double nested greater than"}},key:"2AA2"},{category:"Sm",mappings:{"default":{"default":"double nested less than with underbar"}},key:"2AA3"},{category:"Sm",mappings:{"default":{"default":"greater than overlapping less than"}},key:"2AA4"},{category:"Sm",mappings:{"default":{"default":"greater than beside less than"}},key:"2AA5"},{category:"Sm",mappings:{"default":{"default":"less than closed by curve"}}, +key:"2AA6"},{category:"Sm",mappings:{"default":{"default":"greater than closed by curve"}},key:"2AA7"},{category:"Sm",mappings:{"default":{"default":"less than closed by curve above slanted equal"}},key:"2AA8"},{category:"Sm",mappings:{"default":{"default":"greater than closed by curve above slanted equal"}},key:"2AA9"},{category:"Sm",mappings:{"default":{"default":"smaller than"}},key:"2AAA"},{category:"Sm",mappings:{"default":{"default":"larger than"}},key:"2AAB"},{category:"Sm",mappings:{"default":{"default":"smaller than or equal to"}}, +key:"2AAC"},{category:"Sm",mappings:{"default":{"default":"larger than or equal to"}},key:"2AAD"},{category:"Sm",mappings:{"default":{"default":"equals sign with bumpy above"}},key:"2AAE"},{category:"Sm",mappings:{"default":{"default":"precedes above single line equals sign"}},key:"2AAF"},{category:"Sm",mappings:{"default":{"default":"succeeds above single line equals sign"}},key:"2AB0"},{category:"Sm",mappings:{"default":{"default":"precedes above single line not equal to"}},key:"2AB1"},{category:"Sm", +mappings:{"default":{"default":"succeeds above single line not equal to"}},key:"2AB2"},{category:"Sm",mappings:{"default":{"default":"precedes above equals sign"}},key:"2AB3"},{category:"Sm",mappings:{"default":{"default":"succeeds above equals sign"}},key:"2AB4"},{category:"Sm",mappings:{"default":{"default":"precedes above not equal to"}},key:"2AB5"},{category:"Sm",mappings:{"default":{"default":"succeeds above not equal to"}},key:"2AB6"},{category:"Sm",mappings:{"default":{"default":"precedes above almost equal to"}}, +key:"2AB7"},{category:"Sm",mappings:{"default":{"default":"succeeds above almost equal to"}},key:"2AB8"},{category:"Sm",mappings:{"default":{"default":"precedes above not almost equal to"}},key:"2AB9"},{category:"Sm",mappings:{"default":{"default":"succeeds above not almost equal to"}},key:"2ABA"},{category:"Sm",mappings:{"default":{"default":"double precedes"}},key:"2ABB"},{category:"Sm",mappings:{"default":{"default":"double succeeds"}},key:"2ABC"},{category:"Sm",mappings:{"default":{"default":"subset with dot"}}, +key:"2ABD"},{category:"Sm",mappings:{"default":{"default":"superset with dot"}},key:"2ABE"},{category:"Sm",mappings:{"default":{"default":"subset with plus sign below"}},key:"2ABF"},{category:"Sm",mappings:{"default":{"default":"superset with plus sign below"}},key:"2AC0"},{category:"Sm",mappings:{"default":{"default":"subset with multiplication sign below"}},key:"2AC1"},{category:"Sm",mappings:{"default":{"default":"superset with multiplication sign below"}},key:"2AC2"},{category:"Sm",mappings:{"default":{"default":"subset of or equal to with dot above"}}, +key:"2AC3"},{category:"Sm",mappings:{"default":{"default":"superset of or equal to with dot above"}},key:"2AC4"},{category:"Sm",mappings:{"default":{"default":"subset of above equals sign"}},key:"2AC5"},{category:"Sm",mappings:{"default":{"default":"superset of above equals sign"}},key:"2AC6"},{category:"Sm",mappings:{"default":{"default":"subset of above tilde operator"}},key:"2AC7"},{category:"Sm",mappings:{"default":{"default":"superset of above tilde operator"}},key:"2AC8"},{category:"Sm",mappings:{"default":{"default":"subset of above almost equal to"}}, +key:"2AC9"},{category:"Sm",mappings:{"default":{"default":"superset of above almost equal to"}},key:"2ACA"},{category:"Sm",mappings:{"default":{"default":"subset of above not equal to"}},key:"2ACB"},{category:"Sm",mappings:{"default":{"default":"superset of above not equal to"}},key:"2ACC"},{category:"Sm",mappings:{"default":{"default":"square left open box operator"}},key:"2ACD"},{category:"Sm",mappings:{"default":{"default":"square right open box operator"}},key:"2ACE"},{category:"Sm",mappings:{"default":{"default":"closed subset"}}, +key:"2ACF"},{category:"Sm",mappings:{"default":{"default":"closed superset"}},key:"2AD0"},{category:"Sm",mappings:{"default":{"default":"closed subset or equal to"}},key:"2AD1"},{category:"Sm",mappings:{"default":{"default":"closed superset or equal to"}},key:"2AD2"},{category:"Sm",mappings:{"default":{"default":"subset above superset"}},key:"2AD3"},{category:"Sm",mappings:{"default":{"default":"superset above subset"}},key:"2AD4"},{category:"Sm",mappings:{"default":{"default":"subset above subset"}}, +key:"2AD5"},{category:"Sm",mappings:{"default":{"default":"superset above superset"}},key:"2AD6"},{category:"Sm",mappings:{"default":{"default":"superset beside subset"}},key:"2AD7"},{category:"Sm",mappings:{"default":{"default":"superset beside and joined by dash with subset"}},key:"2AD8"},{category:"Sm",mappings:{"default":{"default":"element of opening downwards"}},key:"2AD9"},{category:"Sm",mappings:{"default":{"default":"pitchfork with tee top"}},key:"2ADA"},{category:"Sm",mappings:{"default":{"default":"transversal intersection"}}, +key:"2ADB"},{category:"Sm",mappings:{"default":{"default":"forking"}},key:"2ADC"},{category:"Sm",mappings:{"default":{"default":"nonforking"}},key:"2ADD"},{category:"Sm",mappings:{"default":{"default":"short left tack"}},key:"2ADE"},{category:"Sm",mappings:{"default":{"default":"short down tack"}},key:"2ADF"},{category:"Sm",mappings:{"default":{"default":"short up tack"}},key:"2AE0"},{category:"Sm",mappings:{"default":{"default":"perpendicular with s"}},key:"2AE1"},{category:"Sm",mappings:{"default":{"default":"vertical bar triple right turnstile"}}, +key:"2AE2"},{category:"Sm",mappings:{"default":{"default":"double vertical bar left turnstile"}},key:"2AE3"},{category:"Sm",mappings:{"default":{"default":"vertical bar double left turnstile"}},key:"2AE4"},{category:"Sm",mappings:{"default":{"default":"double vertical bar double left turnstile"}},key:"2AE5"},{category:"Sm",mappings:{"default":{"default":"long dash from left member of double vertical"}},key:"2AE6"},{category:"Sm",mappings:{"default":{"default":"short down tack with overbar"}},key:"2AE7"}, +{category:"Sm",mappings:{"default":{"default":"short up tack with underbar"}},key:"2AE8"},{category:"Sm",mappings:{"default":{"default":"short up tack above short down tack"}},key:"2AE9"},{category:"Sm",mappings:{"default":{"default":"double down tack"}},key:"2AEA"},{category:"Sm",mappings:{"default":{"default":"double up tack"}},key:"2AEB"},{category:"Sm",mappings:{"default":{"default":"double stroke not sign"}},key:"2AEC"},{category:"Sm",mappings:{"default":{"default":"reversed double stroke not sign"}}, +key:"2AED"},{category:"Sm",mappings:{"default":{"default":"does not divide with reversed negation slash"}},key:"2AEE"},{category:"Sm",mappings:{"default":{"default":"vertical line with circle above"}},key:"2AEF"},{category:"Sm",mappings:{"default":{"default":"vertical line with circle below"}},key:"2AF0"},{category:"Sm",mappings:{"default":{"default":"down tack with circle below"}},key:"2AF1"},{category:"Sm",mappings:{"default":{"default":"parallel with horizontal stroke"}},key:"2AF2"},{category:"Sm", +mappings:{"default":{"default":"parallel with tilde operator"}},key:"2AF3"},{category:"Sm",mappings:{"default":{"default":"triple vertical bar binary relation"}},key:"2AF4"},{category:"Sm",mappings:{"default":{"default":"triple vertical bar with horizontal stroke"}},key:"2AF5"},{category:"Sm",mappings:{"default":{"default":"triple colon operator"}},key:"2AF6"},{category:"Sm",mappings:{"default":{"default":"triple nested less than"}},key:"2AF7"},{category:"Sm",mappings:{"default":{"default":"triple nested greater than"}}, +key:"2AF8"},{category:"Sm",mappings:{"default":{"default":"double line slanted less than or equal to"}},key:"2AF9"},{category:"Sm",mappings:{"default":{"default":"double line slanted greater than or equal to"}},key:"2AFA"},{category:"Sm",mappings:{"default":{"default":"triple solidus binary relation"}},key:"2AFB"},{category:"Sm",mappings:{"default":{"default":"large triple vertical bar operator"}},key:"2AFC"},{category:"Sm",mappings:{"default":{"default":"double solidus operator"}},key:"2AFD"},{category:"Sm", +mappings:{"default":{"default":"white vertical bar"}},key:"2AFE"},{category:"Sm",mappings:{"default":{"default":"n ary white vertical bar"}},key:"2AFF"},{category:"Pd",mappings:{"default":{"default":"wave dash"}},key:"301C"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical comma"}},key:"FE10"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical colon"}},key:"FE13"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical semicolon"}}, +key:"FE14"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical exclamation mark"}},key:"FE15"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical question mark"}},key:"FE16"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical horizontal ellipsis"}},key:"FE19"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical two dot leader",alternative:"glyph for vertical two dot leader"}},key:"FE30"},{category:"Pd", +mappings:{"default":{"default":"presentation form for vertical em dash",alternative:"glyph for vertical em dash"}},key:"FE31"},{category:"Pd",mappings:{"default":{"default":"presentation form for vertical en dash",alternative:"glyph for vertical en dash"}},key:"FE32"},{category:"Pc",mappings:{"default":{"default":"presentation form for vertical low line",alternative:"glyph for vertical spacing underscore"}},key:"FE33"},{category:"Pc",mappings:{"default":{"default":"presentation form for vertical wavy low line", +alternative:"glyph for vertical spacing wavy underscore"}},key:"FE34"},{category:"Po",mappings:{"default":{"default":"sesame dot"}},key:"FE45"},{category:"Po",mappings:{"default":{"default":"white sesame dot"}},key:"FE46"},{category:"Po",mappings:{"default":{"default":"dashed overline",alternative:"spacing dashed overscore"}},key:"FE49"},{category:"Po",mappings:{"default":{"default":"centerline overline",alternative:"spacing centerline overscore"}},key:"FE4A"},{category:"Po",mappings:{"default":{"default":"wavy overline", +alternative:"spacing wavy overscore"}},key:"FE4B"},{category:"Po",mappings:{"default":{"default":"double wavy overline",alternative:"spacing double wavy overscore"}},key:"FE4C"},{category:"Pc",mappings:{"default":{"default":"dashed low line",alternative:"spacing dashed underscore"}},key:"FE4D"},{category:"Pc",mappings:{"default":{"default":"centerline low line",alternative:"spacing centerline underscore"}},key:"FE4E"},{category:"Pc",mappings:{"default":{"default":"wavy low line",alternative:"spacing wavy underscore"}}, +key:"FE4F"},{category:"Po",mappings:{"default":{"default":"small comma"}},key:"FE50"},{category:"Po",mappings:{"default":{"default":"small full stop",alternative:"small period"}},key:"FE52"},{category:"Po",mappings:{"default":{"default":"small semicolon"}},key:"FE54"},{category:"Po",mappings:{"default":{"default":"small colon"}},key:"FE55"},{category:"Po",mappings:{"default":{"default":"small question mark"}},key:"FE56"},{category:"Po",mappings:{"default":{"default":"small exclamation mark"}},key:"FE57"}, +{category:"Pd",mappings:{"default":{"default":"small em dash"}},key:"FE58"},{category:"Po",mappings:{"default":{"default":"small number sign"}},key:"FE5F"},{category:"Po",mappings:{"default":{"default":"small ampersand"}},key:"FE60"},{category:"Po",mappings:{"default":{"default":"small asterisk"}},key:"FE61"},{category:"Sm",mappings:{"default":{"default":"small plus sign"}},key:"FE62"},{category:"Pd",mappings:{"default":{"default":"small hyphen minus"}},key:"FE63"},{category:"Sm",mappings:{"default":{"default":"small less than sign"}}, +key:"FE64"},{category:"Sm",mappings:{"default":{"default":"small greater than sign"}},key:"FE65"},{category:"Sm",mappings:{"default":{"default":"small equals sign"}},key:"FE66"},{category:"Po",mappings:{"default":{"default":"small reverse solidus",alternative:"small backslash"}},key:"FE68"},{category:"Sc",mappings:{"default":{"default":"small dollar sign"}},key:"FE69"},{category:"Po",mappings:{"default":{"default":"small percent sign"}},key:"FE6A"},{category:"Po",mappings:{"default":{"default":"small commercial at"}}, +key:"FE6B"},{category:"Po",mappings:{"default":{"default":"fullwidth exclamation mark"}},key:"FF01"},{category:"Po",mappings:{"default":{"default":"fullwidth quotation mark"}},key:"FF02"},{category:"Po",mappings:{"default":{"default":"fullwidth number sign"}},key:"FF03"},{category:"Sc",mappings:{"default":{"default":"fullwidth dollar sign"}},key:"FF04"},{category:"Po",mappings:{"default":{"default":"fullwidth percent sign"}},key:"FF05"},{category:"Po",mappings:{"default":{"default":"fullwidth ampersand"}}, +key:"FF06"},{category:"Po",mappings:{"default":{"default":"fullwidth apostrophe"}},key:"FF07"},{category:"Po",mappings:{"default":{"default":"fullwidth asterisk"}},key:"FF0A"},{category:"Sm",mappings:{"default":{"default":"fullwidth plus sign"}},key:"FF0B"},{category:"Po",mappings:{"default":{"default":"fullwidth comma"}},key:"FF0C"},{category:"Pd",mappings:{"default":{"default":"fullwidth hyphen minus"}},key:"FF0D"},{category:"Po",mappings:{"default":{"default":"fullwidth full stop",alternative:"fullwidth period"}}, +key:"FF0E"},{category:"Po",mappings:{"default":{"default":"fullwidth solidus",alternative:"fullwidth slash"}},key:"FF0F"},{category:"Po",mappings:{"default":{"default":"fullwidth colon"}},key:"FF1A"},{category:"Po",mappings:{"default":{"default":"fullwidth semicolon"}},key:"FF1B"},{category:"Sm",mappings:{"default":{"default":"fullwidth less than sign"}},key:"FF1C"},{category:"Sm",mappings:{"default":{"default":"fullwidth equals sign"}},key:"FF1D"},{category:"Sm",mappings:{"default":{"default":"fullwidth greater than sign"}}, +key:"FF1E"},{category:"Po",mappings:{"default":{"default":"fullwidth question mark"}},key:"FF1F"},{category:"Po",mappings:{"default":{"default":"fullwidth commercial at"}},key:"FF20"},{category:"Po",mappings:{"default":{"default":"fullwidth reverse solidus",alternative:"fullwidth backslash"}},key:"FF3C"},{category:"Sk",mappings:{"default":{"default":"fullwidth circumflex accent",alternative:"fullwidth spacing circumflex"}},key:"FF3E"},{category:"Pc",mappings:{"default":{"default":"fullwidth low line", +alternative:"fullwidth spacing underscore"}},key:"FF3F"},{category:"Sk",mappings:{"default":{"default":"fullwidth grave accent",alternative:"fullwidth spacing grave"}},key:"FF40"},{category:"Sm",mappings:{"default":{"default":"fullwidth vertical line",alternative:"fullwidth vertical bar"}},key:"FF5C"},{category:"Sm",mappings:{"default":{"default":"fullwidth tilde",alternative:"fullwidth spacing tilde"}},key:"FF5E"},{category:"Sc",mappings:{"default":{"default":"fullwidth cent sign"}},key:"FFE0"}, +{category:"Sc",mappings:{"default":{"default":"fullwidth pound sign"}},key:"FFE1"},{category:"Sm",mappings:{"default":{"default":"fullwidth not sign"}},key:"FFE2"},{category:"Sk",mappings:{"default":{"default":"fullwidth macron",alternative:"fullwidth spacing macron"}},key:"FFE3"},{category:"So",mappings:{"default":{"default":"fullwidth broken bar",alternative:"fullwidth broken vertical bar"}},key:"FFE4"},{category:"Sc",mappings:{"default":{"default":"fullwidth yen sign"}},key:"FFE5"},{category:"Sc", +mappings:{"default":{"default":"fullwidth won sign"}},key:"FFE6"},{category:"So",mappings:{"default":{"default":"halfwidth forms light vertical"}},key:"FFE8"},{category:"So",mappings:{"default":{"default":"halfwidth black square"}},key:"FFED"},{category:"So",mappings:{"default":{"default":"halfwidth white circle"}},key:"FFEE"},{category:"Ll",names:[],key:"03B1",mappings:{"default":{"default":"greek small letter alpha","short":"alpha"}}},{category:"Ll",names:[],key:"03B2",mappings:{"default":{"default":"greek small letter beta", +"short":"beta"}}},{category:"Ll",names:[],key:"03B3",mappings:{"default":{"default":"greek small letter gamma","short":"gamma"}}},{category:"Ll",names:[],key:"03B4",mappings:{"default":{"default":"greek small letter delta","short":"delta"}}},{category:"Ll",names:[],key:"03B5",mappings:{"default":{"default":"greek small letter epsilon","short":"epsilon"}}},{category:"Ll",names:[],key:"03B6",mappings:{"default":{"default":"greek small letter zeta","short":"zeta"}}},{category:"Ll",names:[],key:"03B7", +mappings:{"default":{"default":"greek small letter eta","short":"eta"}}},{category:"Ll",names:[],key:"03B8",mappings:{"default":{"default":"greek small letter theta","short":"theta"}}},{category:"Ll",names:[],key:"03B9",mappings:{"default":{"default":"greek small letter iota","short":"iota"}}},{category:"Ll",names:[],key:"03BA",mappings:{"default":{"default":"greek small letter kappa","short":"kappa"}}},{category:"Ll",names:[],key:"03BB",mappings:{"default":{"default":"greek small letter lamda",alternative:"greek small letter lambda", +"short":"lamda"}}},{category:"Ll",names:[],key:"03BC",mappings:{"default":{"default":"greek small letter mu","short":"mu"}}},{category:"Ll",names:[],key:"03BD",mappings:{"default":{"default":"greek small letter nu","short":"nu"}}},{category:"Ll",names:[],key:"03BE",mappings:{"default":{"default":"greek small letter xi","short":"xi"}}},{category:"Ll",names:[],key:"03BF",mappings:{"default":{"default":"greek small letter omicron","short":"omicron"}}},{category:"Ll",names:[],key:"03C0",mappings:{"default":{"default":"greek small letter pi", +"short":"pi"}}},{category:"Ll",names:[],key:"03C1",mappings:{"default":{"default":"greek small letter rho","short":"rho"}}},{category:"Ll",names:[],key:"03C2",mappings:{"default":{"default":"greek small letter final sigma","short":"final sigma"}}},{category:"Ll",names:[],key:"03C3",mappings:{"default":{"default":"greek small letter sigma","short":"sigma"}}},{category:"Ll",names:[],key:"03C4",mappings:{"default":{"default":"greek small letter tau","short":"tau"}}},{category:"Ll",names:[],key:"03C5", +mappings:{"default":{"default":"greek small letter upsilon","short":"upsilon"}}},{category:"Ll",names:[],key:"03C6",mappings:{"default":{"default":"greek small letter phi","short":"phi"}}},{category:"Ll",names:[],key:"03C7",mappings:{"default":{"default":"greek small letter chi","short":"chi"}}},{category:"Ll",names:[],key:"03C8",mappings:{"default":{"default":"greek small letter psi","short":"psi"}}},{category:"Ll",names:[],key:"03C9",mappings:{"default":{"default":"greek small letter omega","short":"omega"}}}, +{category:"Ll",mappings:{"default":{"default":"greek beta symbol",alternative:"greek small letter curled beta","short":"beta"}},key:"03D0"},{category:"Ll",mappings:{"default":{"default":"greek theta symbol",alternative:"greek small letter script theta","short":"theta"}},key:"03D1"},{category:"Ll",mappings:{"default":{"default":"greek phi symbol",alternative:"greek small letter script phi","short":"phi"}},key:"03D5"},{category:"Ll",mappings:{"default":{"default":"greek pi symbol",alternative:"greek small letter omega pi", +"short":"pi"}},key:"03D6"},{category:"Ll",mappings:{"default":{"default":"greek kai symbol","short":"kai"}},key:"03D7"},{category:"Ll",mappings:{"default":{"default":"greek kappa symbol",alternative:"greek small letter script kappa","short":"kappa"}},key:"03F0"},{category:"Ll",mappings:{"default":{"default":"greek rho symbol",alternative:"greek small letter tailed rho","short":"rho"}},key:"03F1"},{category:"Ll",mappings:{"default":{"default":"greek lunate epsilon symbol","short":"epsilon"}},key:"03F5"}, +{category:"Sm",mappings:{"default":{"default":"greek reversed lunate epsilon symbol","short":"reversed epsilon"}},key:"03F6"},{category:"Lu",names:[],key:"0391",mappings:{"default":{"default":"greek capital letter alpha","short":"cap alpha"}}},{category:"Lu",names:[],key:"0392",mappings:{"default":{"default":"greek capital letter beta","short":"cap beta"}}},{category:"Lu",names:[],key:"0393",mappings:{"default":{"default":"greek capital letter gamma","short":"cap gamma"}}},{category:"Lu",names:[], +key:"0394",mappings:{"default":{"default":"greek capital letter delta","short":"cap delta"}}},{category:"Lu",names:[],key:"0395",mappings:{"default":{"default":"greek capital letter epsilon","short":"cap epsilon"}}},{category:"Lu",names:[],key:"0396",mappings:{"default":{"default":"greek capital letter zeta","short":"cap zeta"}}},{category:"Lu",names:[],key:"0397",mappings:{"default":{"default":"greek capital letter eta","short":"cap eta"}}},{category:"Lu",names:[],key:"0398",mappings:{"default":{"default":"greek capital letter theta", +"short":"cap theta"}}},{category:"Lu",names:[],key:"0399",mappings:{"default":{"default":"greek capital letter iota","short":"cap iota"}}},{category:"Lu",names:[],key:"039A",mappings:{"default":{"default":"greek capital letter kappa","short":"cap kappa"}}},{category:"Lu",names:[],key:"039B",mappings:{"default":{"default":"greek capital letter lamda",alternative:"greek capital letter lambda","short":"cap lamda"}}},{category:"Lu",names:[],key:"039C",mappings:{"default":{"default":"greek capital letter mu", +"short":"cap mu"}}},{category:"Lu",names:[],key:"039D",mappings:{"default":{"default":"greek capital letter nu","short":"cap nu"}}},{category:"Lu",names:[],key:"039E",mappings:{"default":{"default":"greek capital letter xi","short":"cap xi"}}},{category:"Lu",names:[],key:"039F",mappings:{"default":{"default":"greek capital letter omicron","short":"cap omicron"}}},{category:"Lu",names:[],key:"03A0",mappings:{"default":{"default":"greek capital letter pi","short":"cap pi"}}},{category:"Lu",names:[], +key:"03A1",mappings:{"default":{"default":"greek capital letter rho","short":"cap rho"}}},{category:"Lu",names:[],key:"03A3",mappings:{"default":{"default":"greek capital letter sigma","short":"cap sigma"}}},{category:"Lu",names:[],key:"03A4",mappings:{"default":{"default":"greek capital letter tau","short":"cap tau"}}},{category:"Lu",names:[],key:"03A5",mappings:{"default":{"default":"greek capital letter upsilon","short":"cap upsilon"}}},{category:"Lu",names:[],key:"03A6",mappings:{"default":{"default":"greek capital letter phi", +"short":"cap phi"}}},{category:"Lu",names:[],key:"03A7",mappings:{"default":{"default":"greek capital letter chi","short":"cap chi"}}},{category:"Lu",names:[],key:"03A8",mappings:{"default":{"default":"greek capital letter psi","short":"cap psi"}}},{category:"Lu",names:[],key:"03A9",mappings:{"default":{"default":"greek capital letter omega","short":"cap omega"}}},{category:"Lu",mappings:{"default":{"default":"greek capital theta symbol","short":"cap theta"}},key:"03F4"},{category:"Ps",mappings:{"default":{"default":"left parenthesis", +alternative:"opening parenthesis"}},key:"0028"},{category:"Pe",mappings:{"default":{"default":"right parenthesis",alternative:"closing parenthesis"}},key:"0029"},{category:"Ps",mappings:{"default":{"default":"left square bracket",alternative:"opening square bracket"}},key:"005B"},{category:"Pe",mappings:{"default":{"default":"right square bracket",alternative:"closing square bracket"}},key:"005D"},{category:"Ps",mappings:{"default":{"default":"left curly bracket",alternative:"opening curly bracket"}}, +key:"007B"},{category:"Pe",mappings:{"default":{"default":"right curly bracket",alternative:"closing curly bracket"}},key:"007D"},{category:"Ps",mappings:{"default":{"default":"left square bracket with quill"}},key:"2045"},{category:"Pe",mappings:{"default":{"default":"right square bracket with quill"}},key:"2046"},{category:"Sm",mappings:{"default":{"default":"left ceiling"}},key:"2308"},{category:"Sm",mappings:{"default":{"default":"right ceiling"}},key:"2309"},{category:"Sm",mappings:{"default":{"default":"left floor"}}, +key:"230A"},{category:"Sm",mappings:{"default":{"default":"right floor"}},key:"230B"},{category:"So",mappings:{"default":{"default":"bottom right crop"}},key:"230C"},{category:"So",mappings:{"default":{"default":"bottom left crop"}},key:"230D"},{category:"So",mappings:{"default":{"default":"top right crop"}},key:"230E"},{category:"So",mappings:{"default":{"default":"top left crop"}},key:"230F"},{category:"So",mappings:{"default":{"default":"top left corner"}},key:"231C"},{category:"So",mappings:{"default":{"default":"top right corner"}}, +key:"231D"},{category:"So",mappings:{"default":{"default":"bottom left corner"}},key:"231E"},{category:"So",mappings:{"default":{"default":"bottom right corner"}},key:"231F"},{category:"Sm",mappings:{"default":{"default":"top half integral"}},key:"2320"},{category:"Sm",mappings:{"default":{"default":"bottom half integral"}},key:"2321"},{category:"Ps",mappings:{"default":{"default":"left pointing angle bracket",alternative:"bra"}},key:"2329"},{category:"Pe",mappings:{"default":{"default":"right pointing angle bracket", +alternative:"ket"}},key:"232A"},{category:"Sm",mappings:{"default":{"default":"left parenthesis upper hook"}},key:"239B"},{category:"Sm",mappings:{"default":{"default":"left parenthesis extension"}},key:"239C"},{category:"Sm",mappings:{"default":{"default":"left parenthesis lower hook"}},key:"239D"},{category:"Sm",mappings:{"default":{"default":"right parenthesis upper hook"}},key:"239E"},{category:"Sm",mappings:{"default":{"default":"right parenthesis extension"}},key:"239F"},{category:"Sm",mappings:{"default":{"default":"right parenthesis lower hook"}}, +key:"23A0"},{category:"Sm",mappings:{"default":{"default":"left square bracket upper corner"}},key:"23A1"},{category:"Sm",mappings:{"default":{"default":"left square bracket extension"}},key:"23A2"},{category:"Sm",mappings:{"default":{"default":"left square bracket lower corner"}},key:"23A3"},{category:"Sm",mappings:{"default":{"default":"right square bracket upper corner"}},key:"23A4"},{category:"Sm",mappings:{"default":{"default":"right square bracket extension"}},key:"23A5"},{category:"Sm",mappings:{"default":{"default":"right square bracket lower corner"}}, +key:"23A6"},{category:"Sm",mappings:{"default":{"default":"left curly bracket upper hook"}},key:"23A7"},{category:"Sm",mappings:{"default":{"default":"left curly bracket middle piece"}},key:"23A8"},{category:"Sm",mappings:{"default":{"default":"left curly bracket lower hook"}},key:"23A9"},{category:"Sm",mappings:{"default":{"default":"curly bracket extension"}},key:"23AA"},{category:"Sm",mappings:{"default":{"default":"right curly bracket upper hook"}},key:"23AB"},{category:"Sm",mappings:{"default":{"default":"right curly bracket middle piece"}}, +key:"23AC"},{category:"Sm",mappings:{"default":{"default":"right curly bracket lower hook"}},key:"23AD"},{category:"Sm",mappings:{"default":{"default":"integral extension"}},key:"23AE"},{category:"Sm",mappings:{"default":{"default":"horizontal line extension"}},key:"23AF"},{category:"Sm",mappings:{"default":{"default":"upper left or lower right curly bracket section"}},key:"23B0"},{category:"Sm",mappings:{"default":{"default":"upper right or lower left curly bracket section"}},key:"23B1"},{category:"Sm", +mappings:{"default":{"default":"summation top"}},key:"23B2"},{category:"Sm",mappings:{"default":{"default":"summation bottom"}},key:"23B3"},{category:"So",mappings:{"default":{"default":"top square bracket"}},key:"23B4"},{category:"So",mappings:{"default":{"default":"bottom square bracket"}},key:"23B5"},{category:"So",mappings:{"default":{"default":"bottom square bracket over top square bracket"}},key:"23B6"},{category:"So",mappings:{"default":{"default":"radical symbol bottom"}},key:"23B7"},{category:"So", +mappings:{"default":{"default":"left vertical box line"}},key:"23B8"},{category:"So",mappings:{"default":{"default":"right vertical box line"}},key:"23B9"},{category:"Sm",mappings:{"default":{"default":"top parenthesis"}},key:"23DC"},{category:"Sm",mappings:{"default":{"default":"bottom parenthesis"}},key:"23DD"},{category:"Sm",mappings:{"default":{"default":"top curly bracket"}},key:"23DE"},{category:"Sm",mappings:{"default":{"default":"bottom curly bracket"}},key:"23DF"},{category:"Sm",mappings:{"default":{"default":"top tortoise shell bracket"}}, +key:"23E0"},{category:"Sm",mappings:{"default":{"default":"bottom tortoise shell bracket"}},key:"23E1"},{category:"Ps",mappings:{"default":{"default":"medium left parenthesis ornament"}},key:"2768"},{category:"Pe",mappings:{"default":{"default":"medium right parenthesis ornament"}},key:"2769"},{category:"Ps",mappings:{"default":{"default":"medium flattened left parenthesis ornament"}},key:"276A"},{category:"Pe",mappings:{"default":{"default":"medium flattened right parenthesis ornament"}},key:"276B"}, +{category:"Ps",mappings:{"default":{"default":"medium left pointing angle bracket ornament"}},key:"276C"},{category:"Pe",mappings:{"default":{"default":"medium right pointing angle bracket ornament"}},key:"276D"},{category:"Ps",mappings:{"default":{"default":"heavy left pointing angle quotation mark ornament"}},key:"276E"},{category:"Pe",mappings:{"default":{"default":"heavy right pointing angle quotation mark ornament"}},key:"276F"},{category:"Ps",mappings:{"default":{"default":"heavy left pointing angle bracket ornament"}}, +key:"2770"},{category:"Pe",mappings:{"default":{"default":"heavy right pointing angle bracket ornament"}},key:"2771"},{category:"Ps",mappings:{"default":{"default":"light left tortoise shell bracket ornament"}},key:"2772"},{category:"Pe",mappings:{"default":{"default":"light right tortoise shell bracket ornament"}},key:"2773"},{category:"Ps",mappings:{"default":{"default":"medium left curly bracket ornament"}},key:"2774"},{category:"Pe",mappings:{"default":{"default":"medium right curly bracket ornament"}}, +key:"2775"},{category:"Ps",mappings:{"default":{"default":"left s shaped bag delimiter"}},key:"27C5"},{category:"Pe",mappings:{"default":{"default":"right s shaped bag delimiter"}},key:"27C6"},{category:"Ps",mappings:{"default":{"default":"mathematical left white square bracket"}},key:"27E6"},{category:"Pe",mappings:{"default":{"default":"mathematical right white square bracket"}},key:"27E7"},{category:"Ps",mappings:{"default":{"default":"mathematical left angle bracket"}},key:"27E8"},{category:"Pe", +mappings:{"default":{"default":"mathematical right angle bracket"}},key:"27E9"},{category:"Ps",mappings:{"default":{"default":"mathematical left double angle bracket"}},key:"27EA"},{category:"Pe",mappings:{"default":{"default":"mathematical right double angle bracket"}},key:"27EB"},{category:"Ps",mappings:{"default":{"default":"mathematical left white tortoise shell bracket"}},key:"27EC"},{category:"Pe",mappings:{"default":{"default":"mathematical right white tortoise shell bracket"}},key:"27ED"}, +{category:"Ps",mappings:{"default":{"default":"mathematical left flattened parenthesis"}},key:"27EE"},{category:"Pe",mappings:{"default":{"default":"mathematical right flattened parenthesis"}},key:"27EF"},{category:"Ps",mappings:{"default":{"default":"left white curly bracket"}},key:"2983"},{category:"Pe",mappings:{"default":{"default":"right white curly bracket"}},key:"2984"},{category:"Ps",mappings:{"default":{"default":"left white parenthesis"}},key:"2985"},{category:"Pe",mappings:{"default":{"default":"right white parenthesis"}}, +key:"2986"},{category:"Ps",mappings:{"default":{"default":"z notation left image bracket"}},key:"2987"},{category:"Pe",mappings:{"default":{"default":"z notation right image bracket"}},key:"2988"},{category:"Ps",mappings:{"default":{"default":"z notation left binding bracket"}},key:"2989"},{category:"Pe",mappings:{"default":{"default":"z notation right binding bracket"}},key:"298A"},{category:"Ps",mappings:{"default":{"default":"left square bracket with underbar"}},key:"298B"},{category:"Pe",mappings:{"default":{"default":"right square bracket with underbar"}}, +key:"298C"},{category:"Ps",mappings:{"default":{"default":"left square bracket with tick in top corner"}},key:"298D"},{category:"Pe",mappings:{"default":{"default":"right square bracket with tick in bottom corner"}},key:"298E"},{category:"Ps",mappings:{"default":{"default":"left square bracket with tick in bottom corner"}},key:"298F"},{category:"Pe",mappings:{"default":{"default":"right square bracket with tick in top corner"}},key:"2990"},{category:"Ps",mappings:{"default":{"default":"left angle bracket with dot"}}, +key:"2991"},{category:"Pe",mappings:{"default":{"default":"right angle bracket with dot"}},key:"2992"},{category:"Ps",mappings:{"default":{"default":"left arc less than bracket"}},key:"2993"},{category:"Pe",mappings:{"default":{"default":"right arc greater than bracket"}},key:"2994"},{category:"Ps",mappings:{"default":{"default":"double left arc greater than bracket"}},key:"2995"},{category:"Pe",mappings:{"default":{"default":"double right arc less than bracket"}},key:"2996"},{category:"Ps",mappings:{"default":{"default":"left black tortoise shell bracket"}}, +key:"2997"},{category:"Pe",mappings:{"default":{"default":"right black tortoise shell bracket"}},key:"2998"},{category:"Ps",mappings:{"default":{"default":"left wiggly fence"}},key:"29D8"},{category:"Pe",mappings:{"default":{"default":"right wiggly fence"}},key:"29D9"},{category:"Ps",mappings:{"default":{"default":"left double wiggly fence"}},key:"29DA"},{category:"Pe",mappings:{"default":{"default":"right double wiggly fence"}},key:"29DB"},{category:"Ps",mappings:{"default":{"default":"left pointing curved angle bracket"}}, +key:"29FC"},{category:"Pe",mappings:{"default":{"default":"right pointing curved angle bracket"}},key:"29FD"},{category:"Ps",mappings:{"default":{"default":"top left half bracket"}},key:"2E22"},{category:"Pe",mappings:{"default":{"default":"top right half bracket"}},key:"2E23"},{category:"Ps",mappings:{"default":{"default":"bottom left half bracket"}},key:"2E24"},{category:"Pe",mappings:{"default":{"default":"bottom right half bracket"}},key:"2E25"},{category:"Ps",mappings:{"default":{"default":"left sideways u bracket"}}, +key:"2E26"},{category:"Pe",mappings:{"default":{"default":"right sideways u bracket"}},key:"2E27"},{category:"Ps",mappings:{"default":{"default":"left double parenthesis"}},key:"2E28"},{category:"Pe",mappings:{"default":{"default":"right double parenthesis"}},key:"2E29"},{category:"Ps",mappings:{"default":{"default":"left angle bracket",alternative:"opening angle bracket"}},key:"3008"},{category:"Pe",mappings:{"default":{"default":"right angle bracket",alternative:"closing angle bracket"}},key:"3009"}, +{category:"Ps",mappings:{"default":{"default":"left double angle bracket",alternative:"opening double angle bracket"}},key:"300A"},{category:"Pe",mappings:{"default":{"default":"right double angle bracket",alternative:"closing double angle bracket"}},key:"300B"},{category:"Ps",mappings:{"default":{"default":"left corner bracket",alternative:"opening corner bracket"}},key:"300C"},{category:"Pe",mappings:{"default":{"default":"right corner bracket",alternative:"closing corner bracket"}},key:"300D"}, +{category:"Ps",mappings:{"default":{"default":"left white corner bracket",alternative:"opening white corner bracket"}},key:"300E"},{category:"Pe",mappings:{"default":{"default":"right white corner bracket",alternative:"closing white corner bracket"}},key:"300F"},{category:"Ps",mappings:{"default":{"default":"left black lenticular bracket",alternative:"opening black lenticular bracket"}},key:"3010"},{category:"Pe",mappings:{"default":{"default":"right black lenticular bracket",alternative:"closing black lenticular bracket"}}, +key:"3011"},{category:"Ps",mappings:{"default":{"default":"left tortoise shell bracket",alternative:"opening tortoise shell bracket"}},key:"3014"},{category:"Pe",mappings:{"default":{"default":"right tortoise shell bracket",alternative:"closing tortoise shell bracket"}},key:"3015"},{category:"Ps",mappings:{"default":{"default":"left white lenticular bracket",alternative:"opening white lenticular bracket"}},key:"3016"},{category:"Pe",mappings:{"default":{"default":"right white lenticular bracket", +alternative:"closing white lenticular bracket"}},key:"3017"},{category:"Ps",mappings:{"default":{"default":"left white tortoise shell bracket",alternative:"opening white tortoise shell bracket"}},key:"3018"},{category:"Pe",mappings:{"default":{"default":"right white tortoise shell bracket",alternative:"closing white tortoise shell bracket"}},key:"3019"},{category:"Ps",mappings:{"default":{"default":"left white square bracket",alternative:"opening white square bracket"}},key:"301A"},{category:"Pe", +mappings:{"default":{"default":"right white square bracket",alternative:"closing white square bracket"}},key:"301B"},{category:"Ps",mappings:{"default":{"default":"reversed double prime quotation mark"}},key:"301D"},{category:"Pe",mappings:{"default":{"default":"double prime quotation mark"}},key:"301E"},{category:"Pe",mappings:{"default":{"default":"low double prime quotation mark"}},key:"301F"},{category:"Ps",mappings:{"default":{"default":"ornate left parenthesis"}},key:"FD3E"},{category:"Pe", +mappings:{"default":{"default":"ornate right parenthesis"}},key:"FD3F"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left white lenticular bracket"}},key:"FE17"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right white lenticular bracket"}},key:"FE18"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left parenthesis",alternative:"glyph for vertical opening parenthesis"}},key:"FE35"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right parenthesis", +alternative:"glyph for vertical closing parenthesis"}},key:"FE36"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left curly bracket",alternative:"glyph for vertical opening curly bracket"}},key:"FE37"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right curly bracket",alternative:"glyph for vertical closing curly bracket"}},key:"FE38"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left tortoise shell bracket", +alternative:"glyph for vertical opening tortoise shell bracket"}},key:"FE39"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right tortoise shell bracket",alternative:"glyph for vertical closing tortoise shell bracket"}},key:"FE3A"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left black lenticular bracket",alternative:"glyph for vertical opening black lenticular bracket"}},key:"FE3B"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right black lenticular bracket", +alternative:"glyph for vertical closing black lenticular bracket"}},key:"FE3C"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left double angle bracket",alternative:"glyph for vertical opening double angle bracket"}},key:"FE3D"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right double angle bracket",alternative:"glyph for vertical closing double angle bracket"}},key:"FE3E"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left angle bracket", +alternative:"glyph for vertical opening angle bracket"}},key:"FE3F"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right angle bracket",alternative:"glyph for vertical closing angle bracket"}},key:"FE40"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left corner bracket",alternative:"glyph for vertical opening corner bracket"}},key:"FE41"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right corner bracket", +alternative:"glyph for vertical closing corner bracket"}},key:"FE42"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left white corner bracket",alternative:"glyph for vertical opening white corner bracket"}},key:"FE43"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right white corner bracket",alternative:"glyph for vertical closing white corner bracket"}},key:"FE44"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left square bracket"}}, +key:"FE47"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right square bracket"}},key:"FE48"},{category:"Ps",mappings:{"default":{"default":"small left parenthesis",alternative:"small opening parenthesis"}},key:"FE59"},{category:"Pe",mappings:{"default":{"default":"small right parenthesis",alternative:"small closing parenthesis"}},key:"FE5A"},{category:"Ps",mappings:{"default":{"default":"small left curly bracket",alternative:"small opening curly bracket"}},key:"FE5B"}, +{category:"Pe",mappings:{"default":{"default":"small right curly bracket",alternative:"small closing curly bracket"}},key:"FE5C"},{category:"Ps",mappings:{"default":{"default":"small left tortoise shell bracket",alternative:"small opening tortoise shell bracket"}},key:"FE5D"},{category:"Pe",mappings:{"default":{"default":"small right tortoise shell bracket",alternative:"small closing tortoise shell bracket"}},key:"FE5E"},{category:"Ps",mappings:{"default":{"default":"fullwidth left parenthesis",alternative:"fullwidth opening parenthesis"}}, +key:"FF08"},{category:"Pe",mappings:{"default":{"default":"fullwidth right parenthesis",alternative:"fullwidth closing parenthesis"}},key:"FF09"},{category:"Ps",mappings:{"default":{"default":"fullwidth left square bracket",alternative:"fullwidth opening square bracket"}},key:"FF3B"},{category:"Pe",mappings:{"default":{"default":"fullwidth right square bracket",alternative:"fullwidth closing square bracket"}},key:"FF3D"},{category:"Ps",mappings:{"default":{"default":"fullwidth left curly bracket", +alternative:"fullwidth opening curly bracket"}},key:"FF5B"},{category:"Pe",mappings:{"default":{"default":"fullwidth right curly bracket",alternative:"fullwidth closing curly bracket"}},key:"FF5D"},{category:"Ps",mappings:{"default":{"default":"fullwidth left white parenthesis"}},key:"FF5F"},{category:"Pe",mappings:{"default":{"default":"fullwidth right white parenthesis"}},key:"FF60"},{category:"Ps",mappings:{"default":{"default":"halfwidth left corner bracket",alternative:"halfwidth opening corner bracket"}}, +key:"FF62"},{category:"Pe",mappings:{"default":{"default":"halfwidth right corner bracket",alternative:"halfwidth closing corner bracket"}},key:"FF63"}]; +cvox.AndroidMathMap.FUNCTION_MAPPINGS_=[{category:"Elementary",mappings:{"default":{"default":"logarithm",alternative:"logarithm function","short":"log"}},key:"log",names:["log"]},{category:"Elementary",mappings:{"default":{"default":"natural logarithm",alternative:"natural logarithm function","short":"natural log"}},key:"ln",names:["ln"]},{category:"Elementary",mappings:{"default":{"default":"logarithm base 10","short":"log base 10"}},key:"lg",names:["lg"]},{category:"Elementary",mappings:{"default":{"default":"exponential", +alternative:"exponential function","short":"exp"}},key:"exp",names:["exp","expt"]},{category:"Elementary",mappings:{"default":{"default":"greatest common divisor","short":"gcd"}},key:"gcd",names:["gcd"]},{category:"Elementary",mappings:{"default":{"default":"least common multiple","short":"lcm"}},key:"gcd",names:["gcd"]},{category:"Complex",mappings:{"default":{"default":"argument","short":"arg"}},key:"arg",names:["arg"]},{category:"Complex",mappings:{"default":{"default":"imaginary part","short":"imaginary"}}, +key:"im",names:["im"]},{category:"Complex",mappings:{"default":{"default":"real part","short":"real"}},key:"re",names:["re"]},{category:"Limits",mappings:{"default":{"default":"infimum","short":"inf"}},key:"inf",names:["inf"]},{category:"Limits",mappings:{"default":{"default":"limit","short":"lim"}},key:"lim",names:["lim"]},{category:"Limits",mappings:{"default":{"default":"infimum default",alternative:"inferior limit","short":"liminf"}},key:"liminf",names:["lim inf"]},{category:"Limits",mappings:{"default":{"default":"supremum limit", +alternative:"superior limit","short":"limsup"}},key:"limsup",names:["lim sup"]},{category:"Limits",mappings:{"default":{"default":"maximum","short":"max"}},key:"max",names:["max"]},{category:"Limits",mappings:{"default":{"default":"minimum","short":"min"}},key:"min",names:["min"]},{category:"Limits",mappings:{"default":{"default":"supremum","short":"sup"}},key:"sup",names:["sup"]},{category:"Limits",mappings:{"default":{"default":"injective limit",alternative:"direct limit","short":"colimit"}},key:"injlim", +names:["injlim","inj lim"]},{category:"Limits",mappings:{"default":{"default":"projective limit",alternative:"inverse limit","short":"limit"}},key:"projlim",names:["projlim","proj lim"]},{category:"Elementary",mappings:{"default":{"default":"modulo","short":"mod"}},key:"mod",names:["mod"]},{category:"Probability",mappings:{"default":{"default":"probability"}},key:"Pr",names:["Pr"]},{category:"Trigonometric",mappings:{"default":{"default":"cosine function","short":"cosine"}},key:"cos",names:["cos", +"cosine"]},{category:"Trigonometric",mappings:{"default":{"default":"cotangent function","short":"cotangent"}},key:"cot",names:["cot"]},{category:"Trigonometric",mappings:{"default":{"default":"cosecant function","short":"cosecant"}},key:"csc",names:["csc"]},{category:"Trigonometric",mappings:{"default":{"default":"secant function","short":"secant"}},key:"sec",names:["sec"]},{category:"Trigonometric",mappings:{"default":{"default":"sine function",alternative:"sine function","short":"sine"}},key:"sin", +names:["sin","sine"]},{category:"Trigonometric",mappings:{"default":{"default":"tangent function","short":"tangent"}},key:"tan",names:["tan"]},{category:"Cyclometric",mappings:{"default":{"default":"inverse cosine function",alternative:"arc cosine function","short":"arc cosine"}},key:"arccos",names:["arccos"]},{category:"Cyclometric",mappings:{"default":{"default":"inverse cotangent function",alternative:"arc cotangent function","short":"arc cotangent"}},key:"arccot",names:["arccot"]},{category:"Cyclometric", +mappings:{"default":{"default":"inverse cosecant function",alternative:"arc cosecant function","short":"arc cosecant"}},key:"arccsc",names:["arccsc"]},{category:"Cyclometric",mappings:{"default":{"default":"inverse secant function",alternative:"arc secant function","short":"arc secant"}},key:"arcsec",names:["arcsec"]},{category:"Cyclometric",mappings:{"default":{"default":"inverse sine function",alternative:"arc sine function","short":"arc sine"}},key:"arcsin",names:["arcsin"]},{category:"Cyclometric", +mappings:{"default":{"default":"inverse tangent function",alternative:"arc tangent function","short":"arc tangent"}},key:"arctan",names:["arctan"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic cosine function","short":"hyperbolic cosine"}},key:"cosh",names:["cosh"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic cotangent function","short":"hyperbolic cotangent"}},key:"coth",names:["coth"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic cosecant function", +"short":"hyperbolic cosecant"}},key:"csch",names:["csch"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic secant function","short":"hyperbolic secant"}},key:"sech",names:["sech"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic sine function","short":"hyperbolic sine"}},key:"sinh",names:["sinh"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic tangent function","short":"hyperbolic tangent"}},key:"tanh",names:["tanh"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic cosine function", +alternative:"area hyperbolic cosine function","short":"area hyperbolic cosine"}},key:"arcosh",names:["arcosh","arccosh"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic cotangent function",alternative:"area hyperbolic cotangent function","short":"area hyperbolic cotangent"}},key:"arcoth",names:["arcoth","arccoth"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic cosecant function",alternative:"area hyperbolic cosecant function","short":"area hyperbolic cosecant"}}, +key:"arcsch",names:["arcsch","arccsch"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic secant function",alternative:"area hyperbolic secant function","short":"area hyperbolic secant"}},key:"arsech",names:["arsech","arcsech"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic sine function",alternative:"area hyperbolic sine function","short":"area hyperbolic sine"}},key:"arsinh",names:["arsinh","arcsinh"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic tangent function", +alternative:"area hyperbolic tangent function","short":"area hyperbolic tangent"}},key:"artanh",names:["artanh","arctanh"]},{category:"Algebra",mappings:{"default":{"default":"degree"}},key:"deg",names:["deg"]},{category:"Algebra",mappings:{"default":{"default":"determinant","short":"det"}},key:"det",names:["det"]},{category:"Algebra",mappings:{"default":{"default":"dimension"}},key:"dim",names:["dim"]},{category:"Algebra",mappings:{"default":{"default":"homomorphism","short":"hom"}},key:"hom",names:["hom", +"Hom"]},{category:"Algebra",mappings:{"default":{"default":"kernel"}},key:"ker",names:["ker"]},{category:"Algebra",mappings:{"default":{"default":"trace"}},key:"Tr",names:["Tr","tr"]}];cvox.AndroidVox=function(){cvox.ChromeVox.navigationManager.ignoreIframesNoMatterWhat()};goog.exportSymbol("cvox.AndroidVox",cvox.AndroidVox); +cvox.AndroidVox.performAction=function(a){var b=JSON.parse(a);a=b.action;var c=b.granularity,b=b.element,d=cvox.SearchWidget.getInstance().isActive();16==c&&512==a&&(cvox.ChromeVox.navigationManager.setReversed(!1),cvox.ChromeVox.navigationManager.syncToBeginning(),cvox.ChromeVox.navigationManager.updateIndicator());if(16==c)return cvox.ChromeVoxUserCommands.commands.readFromHere(),!0;cvox.ChromeVoxUserCommands.commands.stopSpeech();if(256==a||512==a)d||cvox.ChromeVoxEventWatcher.setUpTextHandler(); +var e=cvox.ChromeVoxEventWatcher.currentTextHandler;e||document.activeElement==document.body||console.log("no text handler, but there is an active element",document.activeElement);if(e&&1==c){if(256==a)return e.moveCursorToNextCharacter();if(512==a)return e.moveCursorToPreviousCharacter()}else if(e&&2==c){if(256==a)return e.moveCursorToNextWord();if(512==a)return e.moveCursorToPreviousWord()}else if(e&&8==c){if(256==a)return e.moveCursorToNextParagraph();if(512==a)return e.moveCursorToPreviousParagraph()}else if(e&& +4==c){var f=!1;256==a?f=e.moveCursorToNextLine():512==a&&(f=e.moveCursorToPreviousLine());if(f)return!0}switch(c){case -1:return cvox.ChromeVox.navigationManager.finishNavCommand(""),!0;case -2:return cvox.ChromeVoxUserCommands.commands.readCurrentTitle(),!0;case -3:return!0;case -4:return 512==a?cvox.ChromeVoxUserCommands.commands.exitShifter():cvox.ChromeVoxUserCommands.commands.enterShifter(),!0;case -5:return cvox.SearchWidget.getInstance().toggle(),!0}if(-275999999<=c&&-275E6>=c){cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("element_clicked"), +cvox.AbstractTts.QUEUE_MODE_FLUSH,cvox.AbstractTts.PERSONALITY_ANNOTATION);a=cvox.ChromeVox.navigationManager.getBraille();b=-275E6-c;if(c=a.text.getSpan(b))a=b-a.text.getSpanStart(c),cvox.AndroidVox.performClickAction(c,a);return!0}if(0>c)return!1;e=[];e[8]=cvox.NavigationShifter.GRANULARITIES.GROUP;e[4]=cvox.NavigationShifter.GRANULARITIES.LINE;e[2]=cvox.NavigationShifter.GRANULARITIES.WORD;e[1]=cvox.NavigationShifter.GRANULARITIES.CHARACTER;d||(c=c?e[c]:cvox.NavigationShifter.GRANULARITIES.OBJECT, +cvox.ChromeVox.navigationManager.setGranularity(c));c=!1;switch(a){case 16:if(d)break;cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("element_clicked"),cvox.AbstractTts.QUEUE_MODE_FLUSH,cvox.AbstractTts.PERSONALITY_ANNOTATION);(c=cvox.ChromeVox.navigationManager.getCurrentNode())&&cvox.AndroidVox.performClickAction(c);c=!0;break;case 1024:switch(b){case "SECTION":c=!cvox.ChromeVoxUserCommands.commands.nextSection();break;case "LIST":c=!cvox.ChromeVoxUserCommands.commands.nextList();break;case "CONTROL":c= +!cvox.ChromeVoxUserCommands.commands.nextControl()}if(c)break;case 256:d?(cvox.SearchWidget.getInstance().nextResult(!1),c=!0):c=!cvox.ChromeVoxUserCommands.commands.forward();break;case 2048:switch(b){case "SECTION":c=!cvox.ChromeVoxUserCommands.commands.previousSection();break;case "LIST":c=!cvox.ChromeVoxUserCommands.commands.previousList();break;case "CONTROL":c=!cvox.ChromeVoxUserCommands.commands.previousControl()}if(c)break;case 512:d?(cvox.SearchWidget.getInstance().nextResult(!0),c=!0):c= +!cvox.ChromeVoxUserCommands.commands.backward()}return c};goog.exportSymbol("cvox.AndroidVox.performAction",cvox.AndroidVox.performAction); +cvox.AndroidVox.performClickAction=function(a,b){cvox.ChromeVox.navigationManager.getCurrentNode()!=a&&cvox.ApiImplementation.syncToNode(a,!1);cvox.Focuser.setFocus(a);var c=cvox.DomUtil.isInputTypeText(a)||a instanceof HTMLTextAreaElement;if(goog.isDef(b)&&c){var d=cvox.BrailleUtil.getTemplated(null,a),c=d.getSpanInstanceOf(cvox.BrailleUtil.ValueSpan),e=d.getSpanStart(c),d=d.getSpanEnd(c);e<=b&&b<=d&&(c=b-e+c.offset,a.selectionStart=a.selectionEnd=c,cvox.ChromeVoxEventWatcher.handleTextChanged(!0))}cvox.DomUtil.clickElem(a, +!1,!0)};cvox.AndroidHost=function(){};goog.inherits(cvox.AndroidHost,cvox.AbstractHost); +cvox.AndroidHost.prototype.init=function(){cvox.ChromeVox.version="AndroidVox";var a=cvox.AndroidKeyMap.getStringifiedKeyMap();cvox.ChromeVoxKbHandler.loadKeyToFunctionsTable(a);cvox.ApiImplementation.siteSpecificScriptLoader="";cvox.ApiImplementation.siteSpecificScriptBase="";cvox.ApiImplementation.init();cvox.ChromeVox.earcons.earconsAvailable()&&(cvox.ChromeVox.verbosity=cvox.VERBOSITY_BRIEF);new cvox.AndroidMathMap;cvox.InitialSpeech.speak()};cvox.AndroidHost.prototype.reinit=function(){}; +cvox.AndroidHost.prototype.onPageLoad=function(){cvox.ChromeVoxEventWatcher.focusFollowsMouse=!0;cvox.ChromeVoxEventWatcher.mouseoverDelayMs=0};cvox.AndroidHost.prototype.ttsLoaded=function(){return"undefined"!=typeof accessibility};cvox.AndroidHost.prototype.getApiSrc=function(){return""};cvox.AndroidHost.prototype.hasTtsCallback=function(){return!1};cvox.AndroidHost.prototype.mustRedispatchClickEvent=function(){return!0}; +cvox.AndroidHost.prototype.activateOrDeactivateChromeVox=function(a){cvox.ChromeVox.tts.stop();cvox.AndroidHost.superClass_.activateOrDeactivateChromeVox.call(this,a);this.onPageLoad()};goog.exportSymbol("cvox.AndroidHost.prototype.activateOrDeactivateChromeVox",cvox.AndroidHost.prototype.activateOrDeactivateChromeVox);cvox.HostFactory.hostConstructor=cvox.AndroidHost;window.cvox||(window.cvox={});cvox.MathJaxExternalUtil=function(){};cvox.MathJaxExternalUtil.mmlAttr=function(){return""}; +cvox.MathJaxExternalUtil.mfenced=function(a){null==a&&(a="");var b=[a+'<mrow mfenced="true"'+this.toMathMLattributes()+">"],c=a+" ";this.data.open&&b.push(this.data.open.toMathML(c));null!=this.data[0]&&b.push(this.data[0].toMathML(c));for(var d=1,e=this.data.length;d<e;d++)this.data[d]&&(this.data["sep"+d]&&b.push(this.data["sep"+d].toMathML(c)),b.push(this.data[d].toMathML(c)));this.data.close&&b.push(this.data.close.toMathML(c));b.push(a+"</mrow>");return b.join("\n")}; +cvox.MathJaxExternalUtil.getMathml=function(a,b){var c=MathJax.ElementJax.mml.mbase.prototype,d=MathJax.ElementJax.mml.mfenced.prototype;this.mmlAttr=c.toMathMLattributes;var e=d.toMathML;try{c.toMathMLattributes=cvox.MathJaxExternalUtil.mbase;d.toMathML=cvox.MathJaxExternalUtil.mfenced;var f=a.root.toMathML("");c.toMathMLattributes=this.mmlAttr;d.toMathML=e;MathJax.Callback(b)(f)}catch(g){c.toMathMLattributes=this.mmlAttr;d.toMathML=e;if(!g.restart)throw g;return MathJax.Callback.After([cvox.MathJaxExternalUtil.getMathml, +a,b],g.restart)}};cvox.MathJaxExternalUtil.mbase=function(){var a=cvox.MathJaxExternalUtil.mmlAttr.call(this);if(null!=this.spanID)var b=(this.id||"MathJax-Span-"+this.spanID)+MathJax.OutputJax["HTML-CSS"].idPostfix,a=a+(' spanID="'+b+'"');null!=this.texClass&&(a+=' texClass="'+this.texClass+'"');return a};cvox.MathJaxExternalUtil.isActive=function(){return"undefined"!=typeof MathJax&&"undefined"!=typeof MathJax.Hub&&"undefined"!=typeof MathJax.ElementJax&&"undefined"!=typeof MathJax.InputJax}; +cvox.MathJaxExternalUtil.getMathjaxCallback_=function(a,b){cvox.MathJaxExternalUtil.getMathml(b,function(c){b.root.inputID&&a(c,b.root.inputID)})};cvox.MathJaxExternalUtil.registerSignal=function(a,b){MathJax.Hub.Register.MessageHook(b,function(b){b=MathJax.Hub.getJaxFor(b[1]);cvox.MathJaxExternalUtil.getMathjaxCallback_(a,b)})};cvox.MathJaxExternalUtil.getAllJax=function(a){var b=MathJax.Hub.getAllJax();b&&b.forEach(function(b){b.root.spanID&&cvox.MathJaxExternalUtil.getMathjaxCallback_(a,b)})}; +cvox.MathJaxExternalUtil.injectConfigScript=function(){var a=document.createElement("script");a.setAttribute("type","text/x-mathjax-config");a.textContent='MathJax.Hub.Config({\n jax: ["input/AsciiMath", "input/TeX"],\n extensions: ["toMathML.js"],\n skipStartupTypeset: true,\n messageStyle: "none",\n TeX: {extensions: ["AMSmath.js","AMSsymbols.js"]}\n});\nMathJax.Hub.Queue(\n function() {MathJax.Hub.inputJax["math/asciimath"].Process();\n MathJax.Hub.inputJax["math/tex"].Process()}\n);\n//\n// Prevent these from being loaded\n//\nif (!MathJax.Extension.MathMenu) {MathJax.Extension.MathMenu = {}};\nif (!MathJax.Extension.MathZoom) {MathJax.Extension.MathZoom = {}};'; +document.activeElement.appendChild(a)};cvox.MathJaxExternalUtil.injectLoadScript=function(){var a=document.createElement("script");a.setAttribute("type","text/javascript");a.setAttribute("src","http://cdn.mathjax.org/mathjax/latest/MathJax.js");document.activeElement.appendChild(a)}; +cvox.MathJaxExternalUtil.configMediaWiki=function(){mediaWiki&&MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var a=MathJax.ElementJax.mml;MathJax.Hub.Insert(MathJax.InputJax.TeX.Definitions,{mathchar0mi:{thetasym:"03B8",koppa:"03DF",stigma:"03DB",varstigma:"03DB",coppa:"03D9",varcoppa:"03D9",sampi:"03E1",C:["0043",{mathvariant:a.VARIANT.DOUBLESTRUCK}],cnums:["0043",{mathvariant:a.VARIANT.DOUBLESTRUCK}],Complex:["0043",{mathvariant:a.VARIANT.DOUBLESTRUCK}],H:["210D",{mathvariant:a.VARIANT.DOUBLESTRUCK}], +N:["004E",{mathvariant:a.VARIANT.DOUBLESTRUCK}],natnums:["004E",{mathvariant:a.VARIANT.DOUBLESTRUCK}],Q:["0051",{mathvariant:a.VARIANT.DOUBLESTRUCK}],R:["0052",{mathvariant:a.VARIANT.DOUBLESTRUCK}],reals:["0052",{mathvariant:a.VARIANT.DOUBLESTRUCK}],Reals:["0052",{mathvariant:a.VARIANT.DOUBLESTRUCK}],Z:["005A",{mathvariant:a.VARIANT.DOUBLESTRUCK}],sect:"00A7",P:"00B6",AA:["00C5",{mathvariant:a.VARIANT.NORMAL}],alef:["2135",{mathvariant:a.VARIANT.NORMAL}],alefsym:["2135",{mathvariant:a.VARIANT.NORMAL}], +weierp:["2118",{mathvariant:a.VARIANT.NORMAL}],real:["211C",{mathvariant:a.VARIANT.NORMAL}],part:["2202",{mathvariant:a.VARIANT.NORMAL}],infin:["221E",{mathvariant:a.VARIANT.NORMAL}],empty:["2205",{mathvariant:a.VARIANT.NORMAL}],O:["2205",{mathvariant:a.VARIANT.NORMAL}],ang:["2220",{mathvariant:a.VARIANT.NORMAL}],exist:["2203",{mathvariant:a.VARIANT.NORMAL}],clubs:["2663",{mathvariant:a.VARIANT.NORMAL}],diamonds:["2662",{mathvariant:a.VARIANT.NORMAL}],hearts:["2661",{mathvariant:a.VARIANT.NORMAL}], +spades:["2660",{mathvariant:a.VARIANT.NORMAL}],textvisiblespace:"2423",geneuro:"20AC",euro:"20AC"},mathchar0mo:{and:"2227",or:"2228",bull:"2219",plusmn:"00B1",sdot:"22C5",Dagger:"2021",sup:"2283",sub:"2282",supe:"2287",sube:"2286",isin:"2208",hAar:"21D4",hArr:"21D4",Harr:"21D4",Lrarr:"21D4",lrArr:"21D4",lArr:"21D0",Larr:"21D0",rArr:"21D2",Rarr:"21D2",harr:"2194",lrarr:"2194",larr:"2190",gets:"2190",rarr:"2192",oiint:["222F",{texClass:a.TEXCLASS.OP}],oiiint:["2230",{texClass:a.TEXCLASS.OP}]},mathchar7:{Alpha:"0391", +Beta:"0392",Epsilon:"0395",Zeta:"0396",Eta:"0397",Iota:"0399",Kappa:"039A",Mu:"039C",Nu:"039D",Omicron:"039F",Rho:"03A1",Tau:"03A4",Chi:"03A7",Koppa:"03DE",Stigma:"03DA",Digamma:"03DC",Coppa:"03D8",Sampi:"03E0"},delimiter:{"\\uarr":"2191","\\darr":"2193","\\Uarr":"21D1","\\uArr":"21D1","\\Darr":"21D3","\\dArr":"21D3","\\rang":"27E9","\\lang":"27E8"},macros:{sgn:"NamedFn",arccot:"NamedFn",arcsec:"NamedFn",arccsc:"NamedFn",sen:"NamedFn",image:["Macro","\\Im"],bold:["Macro","\\mathbf{#1}",1],pagecolor:["Macro", +"",1],emph:["Macro","\\textit{#1}",1],textsf:["Macro","\\mathord{\\sf{\\text{#1}}}",1],texttt:["Macro","\\mathord{\\tt{\\text{#1}}}",1],vline:["Macro","\\smash{\\large\\lvert}",0]}})})}; +cvox.MathJaxExternalUtil.convertToMml=function(a,b,c,d,e,f){var g=MathJax.HTML.Element("script",{type:c},[b]),g={math:b,script:g};MathJax.InputJax[d].prefilterHooks.Execute(g);var h;try{h=f(g.math)}catch(k){if(k[e])h=MathJax.ElementJax.mml.merror(k.message.replace(/\n.*/,""));else{if(k.restart)return MathJax.Callback.After([cvox.MathJaxExternalUtil.convertToMml,a,b,c,d,e,f],k.restart);throw k;}}h=h.inferred?MathJax.ElementJax.mml.apply(MathJax.ElementJax,h.data):MathJax.ElementJax.mml(h);h.root.display= +"block";g.math=h;g.script.MathJax={};MathJax.InputJax[d].postfilterHooks.Execute(g);return cvox.MathJaxExternalUtil.getMathml(g.math,a)};cvox.MathJaxExternalUtil.texToMml=function(a,b){cvox.MathJaxExternalUtil.convertToMml(a,b,"math/tex;mode=display","TeX","texError",function(a){return MathJax.InputJax.TeX.Parse(a).mml()})};cvox.MathJaxExternalUtil.asciiMathToMml=function(a,b){cvox.MathJaxExternalUtil.convertToMml(a,b,"math/asciimath","AsciiMath","asciimathError",MathJax.InputJax.AsciiMath.AM.parseMath)};cvox.AndroidMathJax=function(){this.altMathNodeId_=0};goog.inherits(cvox.AndroidMathJax,cvox.AbstractMathJax);cvox.AndroidMathJax.prototype.getMathmlToDomCallback_=function(a){return goog.bind(function(b,c){return this.convertMarkupToDom(a,b,c)},this)};cvox.AndroidMathJax.prototype.isMathjaxActive=function(a){var b=0,c=function(){b++;cvox.MathJaxExternalUtil.isActive()?a(!0):5>b&&setTimeout(c,1E3)};c()};cvox.AndroidMathJax.prototype.getAllJax=function(a){cvox.MathJaxExternalUtil.getAllJax(this.getMathmlToDomCallback_(a))}; +cvox.AndroidMathJax.prototype.registerSignal=function(a,b){cvox.MathJaxExternalUtil.registerSignal(this.getMathmlToDomCallback_(a),b)};cvox.AndroidMathJax.prototype.injectScripts=function(){cvox.MathJaxExternalUtil.injectConfigScript();cvox.MathJaxExternalUtil.injectLoadScript()};cvox.AndroidMathJax.prototype.configMediaWiki=function(){cvox.MathJaxExternalUtil.configMediaWiki()}; +cvox.AndroidMathJax.prototype.getTex=function(a,b){var c=b.alt||b.title;if(c){var d="cvoxId-"+this.altMathNodeId_++;b.setAttribute("cvoxId",d);cvox.MathJaxExternalUtil.texToMml(goog.bind(function(b){this.convertMarkupToDom(a,b,d)},this),c)}};cvox.AndroidMathJax.prototype.getAsciiMath=function(a,b){var c=b.alt||b.title;if(c){var d="cvoxId-"+this.altMathNodeId_++;b.setAttribute("cvoxId",d);cvox.MathJaxExternalUtil.asciiMathToMml(goog.bind(function(b){this.convertMarkupToDom(a,b,d)},this),c)}}; +cvox.HostFactory.mathJaxConstructor=cvox.AndroidMathJax;cvox.AndroidTts=function(){cvox.AbstractTts.call(this);this.ttsProperties.rate=0.5;this.ttsProperties.pitch=0.5;this.ttsProperties.volume=1};goog.inherits(cvox.AndroidTts,cvox.AbstractTts);cvox.AndroidTts.prototype.speak=function(a,b,c){cvox.AndroidTts.superClass_.speak.call(this,a,b,c);c=this.mergeProperties(c);accessibility.speak(a,b,c);return this};cvox.AndroidTts.prototype.isSpeaking=function(){cvox.AndroidTts.superClass_.isSpeaking.call(this);return accessibility.isSpeaking()}; +cvox.AndroidTts.prototype.stop=function(){cvox.AndroidTts.superClass_.stop.call(this);accessibility.stop()};cvox.HostFactory.ttsConstructor=cvox.AndroidTts;cvox.TestMessages={locale:{message:"en"},chromevox_name:{message:"ChromeVox"},chromevox_description:{message:"ChromeVox - Giving Voice to Chrome"},chromevox_stop_speech_key:{message:"Stop speech"},chromevox_toggle_sticky_mode:{message:"Enable/Disable sticky mode"},chromevox_prefix_key:{message:"Prefix key"},chromevox_handle_tab_next:{message:"Jump to next focusable item"},chromevox_handle_tab_prev:{message:"Jump to previous focusable item"},chromevox_backward:{message:"Navigate backward"},chromevox_forward:{message:"Navigate forward"}, +chromevox_left:{message:"Move left"},chromevox_right:{message:"Move right"},chromevox_skip_backward:{message:"Skip backward during continuous reading"},chromevox_skip_forward:{message:"Skip forward during continuous reading"},chromevox_previous_granularity:{message:"Decrease navigation granularity"},chromevox_next_granularity:{message:"Increase navigation granularity"},chromevox_act_on_current_item:{message:"Take action on current item"},chromevox_force_click_on_current_item:{message:"Click on current item"}, +chromevox_read_link_url:{message:"Announce the URL behind a link"},chromevox_read_current_title:{message:"Announce the title of the current page"},chromevox_read_current_url:{message:"Announce the URL of the current page"},chromevox_read_from_here:{message:"Start reading from current location"},chromevox_show_power_key:{message:"Open ChromeVox keyboard help"},chromevox_hide_power_key:{message:"Hide ChromeVox help"},chromevox_power_key_help:{message:"Press up or down to review commands, press enter to activate"}, +chromevox_help:{message:"Open ChromeVox tutorial"},chromevox_toggle_search_widget:{message:"Toggle search widget"},chromevox_show_options_page:{message:"Open options page"},chromevox_show_kb_explorer_page:{message:"Open keyboard explorer"},chromevox_decrease_tts_rate:{message:"Decrease rate of speech"},chromevox_increase_tts_rate:{message:"Increase rate of speech"},chromevox_decrease_tts_pitch:{message:"Decrease pitch"},chromevox_increase_tts_pitch:{message:"Increase pitch"},chromevox_decrease_tts_volume:{message:"Decrease speech volume"}, +chromevox_increase_tts_volume:{message:"Increase speech volume"},chromevox_show_forms_list:{message:"Show forms list"},chromevox_show_headings_list:{message:"Show headings list"},chromevox_show_links_list:{message:"Show links list"},chromevox_show_tables_list:{message:"Show tables list"},chromevox_show_landmarks_list:{message:"Show landmarks list"},chromevox_previous_row:{message:"Previous table row"},chromevox_next_row:{message:"Next table row"},chromevox_previous_col:{message:"Previous table column"}, +chromevox_next_col:{message:"Next table column"},chromevox_announce_headers:{message:"Announce the headers of the current cell"},chromevox_speak_table_location:{message:"Announce current cell coordinates"},chromevox_guess_row_header:{message:"Make a guess at the row header of the current cell"},chromevox_guess_col_header:{message:"Make a guess at the column header of the current cell"},chromevox_skip_to_beginning:{message:"Go to beginning of table"},chromevox_skip_to_end:{message:"Go to end of table"}, +chromevox_skip_to_row_beginning:{message:"Go to beginning of the current row"},chromevox_skip_to_row_end:{message:"Go to end of the current row"},chromevox_skip_to_col_beginning:{message:"Go to beginning of the current column"},chromevox_skip_to_col_end:{message:"Go to end of the current column"},chromevox_next_heading1:{message:"Next level 1 heading"},chromevox_previous_heading1:{message:"Previous level 1 heading"},chromevox_next_heading2:{message:"Next level 2 heading"},chromevox_previous_heading2:{message:"Previous level 2 heading"}, +chromevox_next_heading3:{message:"Next level 3 heading"},chromevox_previous_heading3:{message:"Previous level 3 heading"},chromevox_next_heading4:{message:"Next level 4 heading"},chromevox_previous_heading4:{message:"Previous level 4 heading"},chromevox_next_heading5:{message:"Next level 5 heading"},chromevox_previous_heading5:{message:"Previous level 5 heading"},chromevox_next_heading6:{message:"Next level 6 heading"},chromevox_previous_heading6:{message:"Previous level 6 heading"},chromevox_next_combo_box:{message:"Next combo box"}, +chromevox_previous_combo_box:{message:"Previous combo box"},chromevox_next_edit_text:{message:"Next editable text area"},chromevox_previous_edit_text:{message:"Previous editable text area"},chromevox_next_form_field:{message:"Next form field"},chromevox_previous_form_field:{message:"Previous form field"},chromevox_next_graphic:{message:"Next graphic"},chromevox_previous_graphic:{message:"Previous graphic"},chromevox_next_heading:{message:"Next heading"},chromevox_previous_heading:{message:"Previous heading"}, +chromevox_next_list_item:{message:"Next list item"},chromevox_previous_list_item:{message:"Previous list item"},chromevox_next_jump:{message:"Next jump"},chromevox_previous_jump:{message:"Previous jump"},chromevox_next_link:{message:"Next link"},chromevox_previous_link:{message:"Previous link"},chromevox_next_list:{message:"Next list"},chromevox_previous_list:{message:"Previous list"},chromevox_next_math:{message:"Next math"},chromevox_previous_math:{message:"Previous math"},chromevox_next_media:{message:"Next media"}, +chromevox_previous_media:{message:"Previous media"},chromevox_next_blockquote:{message:"Next block quote"},chromevox_previous_blockquote:{message:"Previous block quote"},chromevox_next_radio:{message:"Next radio button"},chromevox_previous_radio:{message:"Previous radio button"},chromevox_next_slider:{message:"Next slider"},chromevox_previous_slider:{message:"Previous slider"},chromevox_next_table:{message:"Next table"},chromevox_next_visited_link:{message:"Next visited link"},chromevox_previous_table:{message:"Previous table"}, +chromevox_previous_visited_link:{message:"Previous visited link"},chromevox_next_button:{message:"Next button"},chromevox_previous_button:{message:"Previous button"},chromevox_next_checkbox:{message:"Next checkbox"},chromevox_previous_checkbox:{message:"Previous checkbox"},chromevox_next_landmark:{message:"Next landmark"},chromevox_previous_landmark:{message:"Previous landmark"},chromevox_benchmark:{message:"Debug benchmark"},chromevox_announce_position:{message:"Announces a brief description of the current position"}, +chromevox_fully_describe:{message:"Announces a complete description of the current position"},chromevox_options_page_title:{message:"ChromeVox Options"},chromevox_options_page_summary:{message:"Use the options below to customize ChromeVox. Changes take effect immediately."},chromevox_options_mouse_focus_follows:{message:"Use the mouse to change focus."},chromevox_options_site_specific_enhancements:{message:"Enhance specific sites (like Google Search)."},chromevox_options_verbosity_verbose:{message:"Enable verbose descriptions."}, +chromevox_options_cursor_between_characters:{message:"Place cursor between characters when editing text (like Mac OS X)."},chromevox_options_magnifier_show_checkbox:{message:"Show a magnified view of the page content."},chromevox_options_voices:{message:"Voices"},chromevox_options_voices_description:{message:"Change the current voice by selecting an option from the list below."},chromevox_options_braille:{message:"Braille"},chromevox_options_braille_table_type_6:{message:"Switch to 8 dot braille"}, +chromevox_options_braille_table_type_8:{message:"Switch to 6 dot braille"},chromevox_options_braille_description_6:{message:"Change the current 6 dot braille table by selecting an option from the list below."},chromevox_options_braille_locale_grade:{message:"$1, Grade $2",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_options_braille_description_8:{message:"Change the current 8 dot braille table by selecting an option from the list below."},chromevox_options_keyboard_shortcuts:{message:"Keyboard shortcuts"}, +chromevox_options_keymap_description:{message:"Change the current keymap by selecting an option from the list below."},chromevox_options_select_keys:{message:"Reset current keymap"},chromevox_options_shortcuts_description:{message:"Customize keyboard shortcuts for frequently used commands by typing them into the corresponding fields below."},chromevox_options_modifier_keys:{message:"Modifier keys"},chromevox_options_cvox_modifier_key:{message:"ChromeVox modifier key"},chromevox_kbexplorer_title:{message:"ChromeOS Keyboard Explorer"}, +chromevox_kbexplorer_instructions:{message:"Press any key to learn its name. Ctrl+W will close the keyboard explorer."},chromevox_chrome_system_need_restart:{message:"System was updated. Restart is recommended."},chromevox_chrome_brightness_changed:{message:"Brightness $1 percent",placeholders:{1:{content:"$1"}}},chromevox_chrome_tab_created:{message:"tab created"},chromevox_chrome_tab_selected:{message:"$1, tab",placeholders:{1:{content:"$1"}}},chromevox_chrome_normal_window_selected:{message:"window $1 tab", +placeholders:{1:{content:"$1"}}},chromevox_chrome_incognito_window_selected:{message:"incognito window $1 tab",placeholders:{1:{content:"$1"}}},chromevox_chrome_menu_opened:{message:"$1 menu opened",placeholders:{1:{content:"$1"}}},chromevox_describe_checkbox_checked:{message:"$1 checkbox checked",placeholders:{1:{content:"$1"}}},chromevox_checkbox_checked_state:{message:"checked"},chromevox_checkbox_checked_state_brl:{message:"x"},chromevox_describe_checkbox_unchecked:{message:"$1, checkbox not checked", +placeholders:{1:{content:"$1"}}},chromevox_checkbox_unchecked_state:{message:"not checked"},chromevox_checkbox_unchecked_state_brl:{message:" "},chromevox_describe_radio_selected:{message:"$1, radio button selected",placeholders:{1:{content:"$1"}}},chromevox_radio_selected_state:{message:"selected"},chromevox_radio_selected_state_brl:{message:"x"},chromevox_describe_radio_unselected:{message:"$1, radio button unselected",placeholders:{1:{content:"$1"}}},chromevox_radio_unselected_state:{message:"unselected"}, +chromevox_radio_unselected_state_brl:{message:" "},chromevox_describe_menu:{message:"$1, menu",placeholders:{1:{content:"$1"}}},chromevox_describe_menu_item:{message:"$1, menu item",placeholders:{1:{content:"$1"}}},chromevox_describe_menu_item_with_submenu:{message:"$1, menu item, with submenu",placeholders:{1:{content:"$1"}}},chromevox_describe_window:{message:"$1, window",placeholders:{1:{content:"$1"}}},chromevox_describe_textbox:{message:"$1, $2, text box",placeholders:{1:{content:"$1"},2:{content:"$2"}}}, +chromevox_describe_unnamed_textbox:{message:"$1, text box",placeholders:{1:{content:"$1"}}},chromevox_describe_password:{message:"$1, $2, password text box",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_describe_unnamed_password:{message:"$1, password text box",placeholders:{1:{content:"$1"}}},chromevox_describe_button:{message:"$1, button",placeholders:{1:{content:"$1"}}},chromevox_describe_combobox:{message:"$1, $2, combo box",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_describe_unnamed_combobox:{message:"$1, combo box", +placeholders:{1:{content:"$1"}}},chromevox_describe_listbox:{message:"$1, $2, list box",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_describe_unnamed_listbox:{message:"$1, list box",placeholders:{1:{content:"$1"}}},chromevox_describe_link:{message:"$1, link",placeholders:{1:{content:"$1"}}},chromevox_describe_tab:{message:"$1, tab",placeholders:{1:{content:"$1"}}},chromevox_describe_slider:{message:"$1, $2, slider",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_describe_selected:{message:", selected"}, +chromevox_describe_unselected:{message:", unselected"},chromevox_describe_index:{message:" $1 of $2 ",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_announce_rate:{message:"Rate $1 percent",placeholders:{1:{content:"$1"}}},chromevox_announce_pitch:{message:"Pitch $1 percent",placeholders:{1:{content:"$1"}}},chromevox_announce_volume:{message:"Volume $1 percent",placeholders:{1:{content:"$1"}}},chromevox_exiting_dialog:{message:"Exited dialog."},chromevox_exited_container:{message:"Exited $1.", +placeholders:{1:{content:"$1"}}},chromevox_entering_dialog:{message:"Entered dialog"},chromevox_live_regions_removed:{message:"removed:"},chromevox_sticky_mode_enabled:{message:"Sticky mode enabled"},chromevox_sticky_mode_disabled:{message:"Sticky mode disabled"},chromevox_keyboard_help_intro:{message:"Keyboard Help"},chromevox_context_menu_intro:{message:"Context Menu"},chromevox_choice_widget_name:{message:"$1 list.",placeholders:{1:{content:"$1"}}},chromevox_choice_widget_help:{message:"Use up and down arrow keys to browse, or type to search."}, +chromevox_choice_widget_exited:{message:"Exited"},chromevox_choice_widget_type_generic:{message:" "},chromevox_end_of_cell:{message:"End of cell."},chromevox_no_url_found:{message:"No URL found"},chromevox_leaving_table:{message:"Leaving table."},chromevox_leaving_grid:{message:"Leaving grid."},chromevox_inside_table:{message:"Inside table"},chromevox_no_tables:{message:"No table found."},chromevox_not_inside_table:{message:"Not inside table."},chromevox_no_cell_below:{message:"No cell below."},chromevox_no_cell_above:{message:"No cell above."}, +chromevox_no_cell_right:{message:"No cell right."},chromevox_no_cell_left:{message:"No cell left."},chromevox_empty_cell:{message:"Empty cell."},chromevox_spanned:{message:"Spanned."},chromevox_row_header:{message:"Row header:"},chromevox_empty_row_header:{message:"Empty row header"},chromevox_column_header:{message:"Column header:"},chromevox_empty_column_header:{message:"Empty column header"},chromevox_no_headers:{message:"No headers"},chromevox_empty_headers:{message:"Empty headers"},chromevox_table_location:{message:"Row $1 of $2, Column $3 of $4", +placeholders:{1:{content:"$1"},2:{content:"$2"},3:{content:"$3"},4:{content:"$4"}}},chromevox_no_next_checkbox:{message:"No next checkbox."},chromevox_no_previous_checkbox:{message:"No previous checkbox."},chromevox_no_next_edit_text:{message:"No next editable text field."},chromevox_no_previous_edit_text:{message:"No previous editable text field."},chromevox_no_next_heading:{message:"No next heading."},chromevox_no_previous_heading:{message:"No previous heading."},chromevox_no_next_heading_1:{message:"No next level 1 heading."}, +chromevox_no_previous_heading_1:{message:"No previous level 1 heading."},chromevox_no_next_heading_2:{message:"No next level 2 heading."},chromevox_no_previous_heading_2:{message:"No previous level 2 heading."},chromevox_no_next_heading_3:{message:"No next level 3 heading."},chromevox_no_previous_heading_3:{message:"No previous level 3 heading."},chromevox_no_next_heading_4:{message:"No next level 4 heading."},chromevox_no_previous_heading_4:{message:"No previous level 4 heading."},chromevox_no_next_heading_5:{message:"No next level 5 heading."}, +chromevox_no_previous_heading_5:{message:"No previous level 5 heading."},chromevox_no_next_heading_6:{message:"No next level 6 heading."},chromevox_no_previous_heading_6:{message:"No previous level 6 heading."},chromevox_no_next_not_link:{message:"No next item that isn't a link."},chromevox_no_previous_not_link:{message:"No previous item that isn't a link."},chromevox_no_next_anchor:{message:"No next anchor."},chromevox_no_previous_anchor:{message:"No previous anchor."},chromevox_no_next_link:{message:"No next link."}, +chromevox_no_previous_link:{message:"No previous link."},chromevox_no_next_table:{message:"No next table."},chromevox_no_previous_table:{message:"No previous table."},chromevox_no_next_visited_link:{message:"No next visited link."},chromevox_no_previous_visited_link:{message:"No previous visited link."},chromevox_no_next_math:{message:"No next math expression."},chromevox_no_previous_math:{message:"No previous math expression."},chromevox_no_next_media_widget:{message:"No next media widget."},chromevox_no_previous_media_widget:{message:"No previous media widget."}, +chromevox_no_next_list:{message:"No next list."},chromevox_no_previous_list:{message:"No previous list."},chromevox_no_next_list_item:{message:"No next list item."},chromevox_no_previous_list_item:{message:"No previous list item."},chromevox_no_next_blockquote:{message:"No next blockquote."},chromevox_no_previous_blockquote:{message:"No previous blockquote."},chromevox_no_next_form_field:{message:"No next form field."},chromevox_no_previous_form_field:{message:"No previous form field."},chromevox_no_next_jump:{message:"No next jump point."}, +chromevox_no_previous_jump:{message:"No previous jump point."},chromevox_no_next_landmark:{message:"No next ARIA landmark."},chromevox_no_previous_landmark:{message:"No previous ARIA landmark."},chromevox_no_next_combo_box:{message:"No next combo box."},chromevox_no_previous_combo_box:{message:"No previous combo box."},chromevox_no_next_button:{message:"No next button."},chromevox_no_previous_button:{message:"No previous button."},chromevox_no_next_graphic:{message:"No next graphic."},chromevox_no_previous_graphic:{message:"No previous graphic."}, +chromevox_no_next_slider:{message:"No next slider."},chromevox_no_previous_slider:{message:"No previous slider."},chromevox_no_next_radio_button:{message:"No next radio button."},chromevox_no_previous_radio_button:{message:"No previous radio button."},chromevox_no_next_section:{message:"No next section."},chromevox_no_previous_section:{message:"No previous section."},chromevox_no_next_control:{message:"No next control."},chromevox_no_previous_control:{message:"No previous control."},chromevox_element_clicked:{message:"Clicked"}, +chromevox_element_double_clicked:{message:"double clicked"},chromevox_powerkey_no_headings:{message:"No headings."},chromevox_powerkey_no_links:{message:"No links."},chromevox_powerkey_no_forms:{message:"No forms."},chromevox_powerkey_no_tables:{message:"No tables."},chromevox_powerkey_no_landmarks:{message:"No ARIA landmarks."},chromevox_powerkey_no_jumps:{message:"No jumps."},chromevox_list_position:{message:"$1 of $2",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_list_position_brl:{message:"$1/$2", +placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_aria_has_submenu:{message:"has submenu"},chromevox_aria_has_submenu_brl:{message:"+submnu"},chromevox_aria_has_popup:{message:"has pop up"},chromevox_aria_has_popup_brl:{message:"+popup"},chromevox_aria_value_min:{message:"Min $1",placeholders:{1:{content:"$1"}}},chromevox_aria_value_min_brl:{message:"min:$1",placeholders:{1:{content:"$1"}}},chromevox_aria_value_max:{message:"Max $1",placeholders:{1:{content:"$1"}}},chromevox_aria_value_max_brl:{message:"max:$1", +placeholders:{1:{content:"$1"}}},chromevox_aria_value_now:{message:"$1",placeholders:{1:{content:"$1"}}},chromevox_aria_value_now_brl:{message:"$1",placeholders:{1:{content:"$1"}}},chromevox_aria_role_alert:{message:"Alert"},chromevox_aria_role_alert_brl:{message:"alrt"},chromevox_aria_role_alertdialog:{message:"Alert dialog"},chromevox_aria_role_alertdialog_brl:{message:"alrt dlg"},chromevox_aria_role_button:{message:"Button"},chromevox_aria_role_button_brl:{message:"btn"},chromevox_aria_role_checkbox:{message:"Check box"}, +chromevox_aria_role_checkbox_brl:{message:"chx"},chromevox_aria_role_combobox:{message:"Combo box"},chromevox_aria_role_combobox_brl:{message:"cbx"},chromevox_aria_role_dialog:{message:"Dialog"},chromevox_aria_role_dialog_brl:{message:"dlg"},chromevox_aria_role_grid:{message:"Grid"},chromevox_aria_role_grid_brl:{message:"grd"},chromevox_aria_role_gridcell:{message:"Cell"},chromevox_aria_role_gridcell_brl:{message:"cl"},chromevox_aria_role_gridcell_pos:{message:"row $1 column $2",placeholders:{1:{content:"$1"}, +2:{content:"$2"}}},chromevox_aria_role_link:{message:"Link"},chromevox_aria_role_link_brl:{message:"lnk"},chromevox_aria_role_link_singular:{message:"1 link"},chromevox_aria_role_link_plural:{message:"$1 links",placeholders:{1:{content:"$1"}}},chromevox_aria_role_listbox:{message:"List box"},chromevox_aria_role_listbox_brl:{message:"lstbx"},chromevox_aria_role_log:{message:"Log"},chromevox_aria_role_log_brl:{message:"log"},chromevox_aria_role_marquee:{message:"Marquee"},chromevox_aria_role_marquee_brl:{message:"maqe"}, +chromevox_aria_role_menu:{message:"Menu"},chromevox_aria_role_menu_brl:{message:"mnu"},chromevox_aria_role_menubar:{message:"Menu bar"},chromevox_aria_role_menubar_brl:{message:"mnu br"},chromevox_aria_role_menuitem:{message:"Menu item"},chromevox_aria_role_menuitem_brl:{message:"mnu itm"},chromevox_aria_role_menuitemcheckbox:{message:"Menu item check box"},chromevox_aria_role_menuitemcheckbox_brl:{message:"mnu itm chx"},chromevox_aria_role_menuitemradio:{message:"Menu item radio button"},chromevox_aria_role_menuitemradio_brl:{message:"mnu itm rd"}, +chromevox_aria_role_option:{message:" "},chromevox_aria_role_option_brl:{message:" "},chromevox_aria_role_popup_button:{message:"Pop-up button"},chromevox_aria_role_popup_button_brl:{message:"pup btn"},chromevox_aria_role_progressbar:{message:"Progress bar"},chromevox_aria_role_progressbar_brl:{message:"prog br"},chromevox_aria_role_radio:{message:"Radio button"},chromevox_aria_role_radio_brl:{message:"rd"},chromevox_aria_role_radiogroup:{message:"Radio button group"},chromevox_aria_role_radiogroup_brl:{message:"rd grp"}, +chromevox_aria_role_scrollbar:{message:"Scroll bar"},chromevox_aria_role_scrollbar_brl:{message:"scr br"},chromevox_aria_role_slider:{message:"Slider"},chromevox_aria_role_slider_brl:{message:"slr"},chromevox_aria_role_spinbutton:{message:"Spin button"},chromevox_aria_role_spinbutton_brl:{message:"spn btn"},chromevox_aria_role_status:{message:"Status"},chromevox_aria_role_status_brl:{message:"sts"},chromevox_aria_role_tab:{message:"Tab"},chromevox_aria_role_tab_brl:{message:"tab"},chromevox_aria_role_tabpanel:{message:"Tab panel"}, +chromevox_aria_role_tabpanel_brl:{message:"tab pnl"},chromevox_aria_role_textbox:{message:"Text box"},chromevox_aria_role_textbox_brl:{message:"txtbx"},chromevox_aria_role_timer:{message:"Timer"},chromevox_aria_role_timer_brl:{message:"tmr"},chromevox_aria_role_toolbar:{message:"Tool bar"},chromevox_aria_role_toolbar_brl:{message:"tl br"},chromevox_aria_role_tooltip:{message:"Tool tip"},chromevox_aria_role_tooltip_brl:{message:"tl tp"},chromevox_aria_role_treeitem:{message:"Tree item"},chromevox_aria_role_treeitem_brl:{message:"tr itm"}, +chromevox_aria_role_article:{message:"Article"},chromevox_aria_role_article_brl:{message:"acl"},chromevox_aria_role_application:{message:"Application"},chromevox_aria_role_application_brl:{message:"app"},chromevox_aria_role_banner:{message:"Banner"},chromevox_aria_role_banner_brl:{message:"bnr"},chromevox_aria_role_columnheader:{message:"Column header"},chromevox_aria_role_columnheader_brl:{message:"clm hd"},chromevox_aria_role_complementary:{message:"Complementary"},chromevox_aria_role_complementary_brl:{message:"cmpy"}, +chromevox_aria_role_contentinfo:{message:"Content info"},chromevox_aria_role_contentinfo_brl:{message:"cnt in"},chromevox_aria_role_definition:{message:"Definition"},chromevox_aria_role_definition_brl:{message:"def"},chromevox_aria_role_directory:{message:"Directory"},chromevox_aria_role_directory_brl:{message:"dir"},chromevox_aria_role_document:{message:"Document"},chromevox_aria_role_document_brl:{message:"doc"},chromevox_aria_role_form:{message:"Form"},chromevox_aria_role_form_brl:{message:"frm"}, +chromevox_aria_role_form_singular:{message:"1 form"},chromevox_aria_role_form_plural:{message:"$1 forms",placeholders:{1:{content:"$1"}}},chromevox_aria_role_group:{message:"Group"},chromevox_aria_role_group_brl:{message:"grp"},chromevox_aria_role_heading:{message:"Heading"},chromevox_aria_role_heading_brl:{message:"hd"},chromevox_aria_role_img:{message:"Image"},chromevox_aria_role_img_brl:{message:"img"},chromevox_aria_role_list:{message:"List"},chromevox_aria_role_list_brl:{message:"lst"},chromevox_aria_role_listitem:{message:"List item"}, +chromevox_aria_role_listitem_brl:{message:"lstitm"},chromevox_aria_role_main:{message:"Main"},chromevox_aria_role_main_brl:{message:"main"},chromevox_aria_role_math:{message:"Math"},chromevox_aria_role_math_brl:{message:"math"},chromevox_aria_role_navigation:{message:"Navigation"},chromevox_aria_role_navigation_brl:{message:"nav"},chromevox_aria_role_note:{message:"Note"},chromevox_aria_role_note_brl:{message:"note"},chromevox_aria_role_region:{message:"Region"},chromevox_aria_role_region_brl:{message:"rgn"}, +chromevox_aria_role_rowheader:{message:"Row header"},chromevox_aria_role_rowheader_brl:{message:"rw hd"},chromevox_aria_role_search:{message:"Search"},chromevox_aria_role_search_brl:{message:"srch"},chromevox_aria_role_separator:{message:"Separator"},chromevox_aria_role_separator_brl:{message:"sprtr"},chromevox_aria_autocomplete_inline:{message:"Autocompletion inline"},chromevox_aria_autocomplete_inline_brl:{message:"autocomplete"},chromevox_aria_autocomplete_list:{message:"Autocompletion list"}, +chromevox_aria_autocomplete_list_brl:{message:"autocomplete lst"},chromevox_aria_autocomplete_both:{message:"Autocompletion inline and list"},chromevox_aria_autocomplete_both_brl:{message:"autocomplete lst"},chromevox_aria_checked_true:{message:"Checked"},chromevox_aria_checked_true_brl:{message:"x"},chromevox_aria_checked_false:{message:"Not checked"},chromevox_aria_checked_false_brl:{message:" "},chromevox_aria_checked_mixed:{message:"Partially checked"},chromevox_aria_checked_mixed_brl:{message:"/x"}, +chromevox_aria_disabled_true:{message:"Disabled"},chromevox_aria_disabled_true_brl:{message:"="},chromevox_aria_expanded_true:{message:"Expanded"},chromevox_aria_expanded_true_brl:{message:">"},chromevox_aria_expanded_false:{message:"Collapsed"},chromevox_aria_expanded_false_brl:{message:"<"},chromevox_aria_invalid_true:{message:"Invalid input"},chromevox_aria_invalid_true_brl:{message:"!"},chromevox_aria_invalid_grammar:{message:"Grammatical mistake detected"},chromevox_aria_invalid_grammar_brl:{message:"Grammatical mistake detected"}, +chromevox_aria_invalid_spelling:{message:"Spelling mistake detected"},chromevox_aria_invalid_spelling_brl:{message:"misspelled"},chromevox_aria_multiline_true:{message:"Multi line"},chromevox_aria_multiline_true_brl:{message:"mult ln"},chromevox_aria_multiselectable_true:{message:"Multi select"},chromevox_aria_multiselectable_true_brl:{message:"mult sel"},chromevox_aria_pressed_true:{message:"Pressed"},chromevox_aria_pressed_true_brl:{message:"x"},chromevox_aria_pressed_false:{message:"Not pressed"}, +chromevox_aria_pressed_false_brl:{message:" "},chromevox_aria_pressed_mixed:{message:"Partially pressed"},chromevox_aria_pressed_mixed_brl:{message:"/x"},chromevox_aria_readonly_true:{message:"Read only"},chromevox_aria_readonly_true_brl:{message:"rdonly"},chromevox_aria_required_true:{message:"Required"},chromevox_aria_required_true_brl:{message:"req"},chromevox_aria_selected_true:{message:"Selected"},chromevox_aria_selected_true_brl:{message:"x"},chromevox_aria_selected_false:{message:"Not selected"}, +chromevox_aria_selected_false_brl:{message:" "},chromevox_tag_link:{message:"Link"},chromevox_tag_link_brl:{message:"lnk"},chromevox_tag_button:{message:"Button"},chromevox_tag_button_brl:{message:"btn"},chromevox_tag_h1:{message:"Heading 1"},chromevox_tag_h1_brl:{message:"h1"},chromevox_tag_h2:{message:"Heading 2"},chromevox_tag_h2_brl:{message:"h2"},chromevox_tag_h3:{message:"Heading 3"},chromevox_tag_h3_brl:{message:"h3"},chromevox_tag_h4:{message:"Heading 4"},chromevox_tag_h4_brl:{message:"h4"}, +chromevox_tag_h5:{message:"Heading 5"},chromevox_tag_h5_brl:{message:"h5"},chromevox_tag_h6:{message:"Heading 6"},chromevox_tag_h6_brl:{message:"h6"},chromevox_tag_li:{message:"List item"},chromevox_tag_li_brl:{message:"lstitm"},chromevox_tag_ol:{message:"Ordered List"},chromevox_tag_ol_brl:{message:"lst"},chromevox_tag_select:{message:"Combo box"},chromevox_tag_select_brl:{message:"cbx"},chromevox_tag_textarea:{message:"Text area"},chromevox_tag_textarea_brl:{message:"txta"},chromevox_tag_table:{message:"table"}, +chromevox_tag_table_brl:{message:"tbl"},chromevox_tag_ul:{message:"List"},chromevox_tag_ul_brl:{message:"lst"},chromevox_tag_section:{message:"Section"},chromevox_tag_section_brl:{message:"stn"},chromevox_tag_nav:{message:"Navigation"},chromevox_tag_nav_brl:{message:"nav"},chromevox_tag_article:{message:"Article"},chromevox_tag_article_brl:{message:"article"},chromevox_tag_aside:{message:"Aside"},chromevox_tag_aside_brl:{message:"aside"},chromevox_tag_hgroup:{message:"Heading group"},chromevox_tag_hgroup_brl:{message:"hgrp"}, +chromevox_tag_header:{message:"Header"},chromevox_tag_header_brl:{message:"hdr"},chromevox_tag_footer:{message:"Footer"},chromevox_tag_footer_brl:{message:"ftr"},chromevox_tag_time:{message:"Time"},chromevox_tag_time_brl:{message:" "},chromevox_tag_mark:{message:"Mark"},chromevox_tag_mark_brl:{message:"mark"},chromevox_tag_video:{message:"Video"},chromevox_tag_video_brl:{message:"video"},chromevox_tag_audio:{message:"Audio"},chromevox_tag_audio_brl:{message:"audio"},chromevox_input_type_button:{message:"Button"}, +chromevox_input_type_button_brl:{message:"btn"},chromevox_input_type_checkbox:{message:"Check box"},chromevox_input_type_checkbox_brl:{message:"chx"},chromevox_input_type_color:{message:"Color picker"},chromevox_input_type_color_brl:{message:"color picker"},chromevox_input_type_datetime:{message:"Date time control"},chromevox_input_type_datetime_brl:{message:"date time"},chromevox_input_type_datetime_local:{message:"Date time control"},chromevox_input_type_datetime_local_brl:{message:"date time"}, +chromevox_input_type_date:{message:"Date control"},chromevox_input_type_date_brl:{message:"date"},chromevox_input_type_email:{message:"Edit text, email entry"},chromevox_input_type_email_brl:{message:"edtxt email"},chromevox_input_type_file:{message:"File selection"},chromevox_input_type_file_brl:{message:"file"},chromevox_input_type_image:{message:"Button"},chromevox_input_type_image_brl:{message:"btn"},chromevox_input_type_month:{message:"Month control"},chromevox_input_type_month_brl:{message:"month"}, +chromevox_input_type_number:{message:"Edit text numeric only"},chromevox_input_type_number_brl:{message:"edtxt#"},chromevox_input_type_password:{message:"Password edit text"},chromevox_input_type_password_brl:{message:"pwd edtxt"},chromevox_input_type_radio:{message:"Radio button"},chromevox_input_type_radio_brl:{message:"rd btn"},chromevox_input_type_range:{message:"Slider"},chromevox_input_type_range_brl:{message:"slr"},chromevox_input_type_reset:{message:"Reset"},chromevox_input_type_reset_brl:{message:"reset"}, +chromevox_input_type_search:{message:"Edit text, search entry"},chromevox_input_type_search_brl:{message:"search edtxt"},chromevox_input_type_submit:{message:"Button"},chromevox_input_type_submit_brl:{message:"btn"},chromevox_input_type_tel:{message:"Edit text, number entry"},chromevox_input_type_tel_brl:{message:"tele# edtxt"},chromevox_input_type_text:{message:"Edit text"},chromevox_input_type_text_brl:{message:"edtxt"},chromevox_input_type_url:{message:"Edit text, URL entry"},chromevox_input_type_url_brl:{message:"url edtxt"}, +chromevox_input_type_week:{message:"Week of the year control"},chromevox_input_type_week_brl:{message:"week"},chromevox_internal_link:{message:"Internal link"},chromevox_internal_link_brl:{message:"int lnk"},chromevox_text_box_blank:{message:"Blank"},chromevox_list_with_items:{message:"with $1 items",placeholders:{1:{content:"$1"}}},chromevox_list_with_items_brl:{message:"+$1",placeholders:{1:{content:"$1"}}},chromevox_state_percent:{message:"$1%",placeholders:{1:{content:"$1"}}},chromevox_state_percent_brl:{message:"$1%", +placeholders:{1:{content:"$1"}}},chromevox_has_submenu:{message:"with submenu"},chromevox_has_submenu_brl:{message:"+submnu"},chromevox_has_popup:{message:"has popup"},chromevox_has_popup_brl:{message:"has popup"},chromevox_collection:{message:"$1 collection with $2 items",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_enter_key:{message:"Enter"},chromevox_space_key:{message:"Space"},chromevox_backspace_key:{message:"Backspace"},chromevox_tab_key:{message:"Tab"},chromevox_left_key:{message:"Left"}, +chromevox_up_key:{message:"Up"},chromevox_right_key:{message:"Right"},chromevox_down_key:{message:"Down"},chromevox_unknown_link:{message:"Unknown link"},chromevox_toggle_chromevox_active:{message:"Toggle ChromeVox active or inactive."},chromevox_chromevox_inactive:{message:"ChromeVox is now inactive."},chromevox_pause:{message:", "},chromevox_end:{message:". "},chromevox_previous_different_element:{message:"Previous different element."},chromevox_next_different_element:{message:"Next different element."}, +chromevox_previous_similar_element:{message:"Previous similar element."},chromevox_next_similar_element:{message:"Next similar element."},chromevox_no_more_similar_elements:{message:"No more similar elements."},chromevox_no_more_different_elements:{message:"No more different elements."},chromevox_index_total:{message:"$1 of $2",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_enter_css_space:{message:"Enter group exploration"},chromevox_enter_group_exploration:{message:"Exploring groups"}, +chromevox_pdf_header:{message:'This page contains the text automatically extracted from the PDF file <b>$1</b>. <a href="$2">Click here for the original.</a>',placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_object_strategy:{message:"Object"},chromevox_group_strategy:{message:"Group"},chromevox_table_strategy:{message:"Table"},chromevox_row_granularity:{message:"Row"},chromevox_column_granularity:{message:"Column"},chromevox_mathml_tree_granularity:{message:"Math ML Tree"},chromevox_mathml_layout_granularity:{message:"Math ML Layout"}, +chromevox_mathml_token_granularity:{message:"Math ML Token"},chromevox_mathml_leaf_granularity:{message:"Math ML Leaf"},chromevox_visual_strategy:{message:"Visual"},chromevox_custom_strategy:{message:"Custom"},chromevox_line_granularity:{message:"Line"},chromevox_sentence_granularity:{message:"Sentence"},chromevox_word_granularity:{message:"Word"},chromevox_character_granularity:{message:"Character"},chromevox_search_widget_intro:{message:"Find in page."},chromevox_search_widget_intro_help:{message:"Enter a search query."}, +chromevox_search_widget_outro:{message:"Exited find in page."},chromevox_search_widget_no_results:{message:"No more results."},chromevox_modifier_keys:{message:"Modifier Keys"},chromevox_navigation:{message:"ChromeVox Navigation"},chromevox_information:{message:"Information"},chromevox_help_commands:{message:"Help Commands"},chromevox_controlling_speech:{message:"Controlling Speech"},chromevox_overview:{message:"Overview"},chromevox_tables:{message:"Tables"},chromevox_jump_commands:{message:"Jump Commands"}, +chromevox_braille:{message:"Braille"},chromevox_developer:{message:"Developer"},chromevox_keymap_classic:{message:"Classic keymap"},chromevox_keymap_flat:{message:"Flat keymap"},chromevox_keymap_experimental:{message:"Experimental keymap"},chromevox_enable_tts_log:{message:"Enable TTS logging"},chromevox_begin_selection:{message:"Start selection"},chromevox_end_selection:{message:"End selection"},chromevox_selection_is:{message:"Selection is "},chromevox_toggle_selection:{message:"Start or end selection."}, +chromevox_copy:{message:"copy."},chromevox_cut:{message:"cut."},chromevox_paste:{message:"paste."},chromevox_selected:{message:"selected"},chromevox_unselected:{message:"unselected"},chromevox_added_to_selection:{message:"added to selection"},chromevox_removed_from_selection:{message:"removed from selection"},chromevox_then:{message:"then"},chromevox_followed_by:{message:"followed by"},chromevox_modifier_key:{message:"ChromeVox modifier"},chromevox_key_conflict:{message:"$1 is already assigned to a command.", +placeholders:{1:{content:"$1"}}},chromevox_math_expr:{message:"Math"},chromevox_math_expr_brl:{message:"Math"},chromevox_not_inside_math:{message:"Not inside math"},chromevox_timewidget_ampm:{message:"AM PM"},chromevox_timewidget_hours:{message:"hours"},chromevox_timewidget_minutes:{message:"minutes"},chromevox_timewidget_seconds:{message:"seconds"},chromevox_timewidget_milliseconds:{message:"milliseconds"},chromevox_timewidget_am:{message:"AM"},chromevox_timewidget_pm:{message:"PM"},chromevox_datewidget_week:{message:"week"}, +chromevox_datewidget_january:{message:"January"},chromevox_datewidget_february:{message:"February"},chromevox_datewidget_march:{message:"March"},chromevox_datewidget_april:{message:"April"},chromevox_datewidget_may:{message:"May"},chromevox_datewidget_june:{message:"June"},chromevox_datewidget_july:{message:"July"},chromevox_datewidget_august:{message:"August"},chromevox_datewidget_september:{message:"September"},chromevox_datewidget_october:{message:"October"},chromevox_datewidget_november:{message:"November"}, +chromevox_datewidget_december:{message:"December"},chromevox_no_punctuation:{message:"No punctuation"},chromevox_some_punctuation:{message:"Some punctuation"},chromevox_all_punctuation:{message:"All punctuation"},chromevox_search_help_item:{message:"Press enter to accept or escape to cancel, down for next and up for previous."},chromevox_clickable:{message:"clickable"},chromevox_clickable_brl:{message:"clickable"},chromevox_previous_character:{message:"Previous Character"},chromevox_next_character:{message:"Next Character"}, +chromevox_previous_word:{message:"Previous Word"},chromevox_next_word:{message:"Next Word"},chromevox_previous_sentence:{message:"Previous Sentence"},chromevox_next_sentence:{message:"Next Sentence"},chromevox_previous_line:{message:"Previous Line"},chromevox_next_line:{message:"Next Line"},chromevox_previous_object:{message:"Previous Object"},chromevox_next_object:{message:"Next Object"},chromevox_previous_group:{message:"Previous Group"},chromevox_next_group:{message:"Next Group"},chromevox_role_landmark:{message:"Landmark"}, +chromevox_modifier_entry_error:{message:"No modifier pressed; please press and hold one or more modifiers; lift your fingers once done and you will hear the keys set. Tab to exit."},chromevox_modifier_entry_set:{message:"$1 is now the new ChromeVox modifier.",placeholders:{1:{content:"$1"}}},chromevox_keymap_reset:{message:"$1 has been reset.",placeholders:{1:{content:"$1"}}},chromevox_keymap_switch:{message:"Switched to $1.",placeholders:{1:{content:"$1"}}},chromevox_jump_to_top:{message:"Jump to the top of the page"}, +chromevox_jump_to_bottom:{message:"Jump to the bottom of the page"},chromevox_wrapped_to_top:{message:"Wrapped to top"},chromevox_wrapped_to_bottom:{message:"Wrapped to bottom"},chromevox_cycle_punctuation_echo:{message:"Cycle punctuation echo"},chromevox_cycle_typing_echo:{message:"Cycle typing echo"},chromevox_pause_all_media:{message:"Pauses all currently playing media widgets"},chromevox_open_long_desc:{message:"Open long description in a new tab"},chromevox_no_long_desc:{message:"No long description"}, +chromevox_image_with_long_desc:{message:"Image with long description"},chromevox_selected_options_value:{message:"$1 to $2",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_selected_options_value_brl:{message:"$1-$2",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_selected_options_state:{message:"selected $1 items",placeholders:{1:{content:"$1"}}},chromevox_selected_options_state_brl:{message:"sld $1",placeholders:{1:{content:"$1"}}},chromevox_clear_page_selection:{message:"cleared selection"}, +chromevox_character_echo:{message:"character echo"},chromevox_word_echo:{message:"word echo"},chromevox_character_and_word_echo:{message:"character and word echo"},chromevox_none_echo:{message:"no typing echo"},chromevox_enter_content:{message:"enter structured content, such as tables"},chromevox_exit_content:{message:"exit structured content, such as tables"},chromevox_enter_content_say:{message:"entered $1",placeholders:{1:{content:"$1"}}},chromevox_structural_line:{message:"structural line"},chromevox_layout_line:{message:"line"}, +chromevox_toggle_line_type:{message:"Toggle line type between structural or layout"},chromevox_table_shifter:{message:"table"},chromevox_navigation_shifter:{message:"default navigation"},chromevox_math_shifter:{message:"math"},chromevox_toggle_semantics:{message:"Toggle interpretation of math expressions between structural and semantic"},chromevox_semantics_on:{message:"Semantics on"},chromevox_semantics_off:{message:"Semantics off"},chromevox_phonetic_map:{message:'{"a": "alpha", "b": "bravo", "c": "charlie", "d": "delta", "e": "echo", "f": "foxtrot", "g": "golf", "h": "hotel", "i": "india", "j": "juliet","k": "kilo", "l": "lima", "m": "mike", "n": "november", "o": "oscar","p": "papa", "q": "quebec", "r": "romeo", "s": "sierra", "t": "tango", "u": "uniform", "v": "victor", "w": "whiskey","x": "xray", "y": "yankee", "z": "zulu"}'}, +chromevox_page_has_one_alert_singular:{message:"This page has 1 alert"},chromevox_page_has_alerts_plural:{message:"This page has $1 alerts",placeholders:{1:{content:"$1"}}},chromevox_review_alerts:{message:"Press Alt+Shift+A to review alerts"},chromevox_no_next_article:{message:"No next article."},chromevox_no_previous_article:{message:"No previous article."},chromevox_chromevox_intro:{message:"ChromeVox spoken feedback is ready"},chromevox_intro_brl:{message:"ChromeVox ready"},chromevox_earcons_on:{message:"Earcons on"}, +chromevox_earcons_off:{message:"Earcons off"},chromevox_toggle_earcons:{message:"Turn sound feedback (earcons) on or off."},chromevox_speak_time_and_date:{message:"Speak the current time and date."},chromevox_mark_as_search_result_brl:{message:"S:$1",placeholders:{1:{content:"$1"}}},chromevox_text_deleted:{message:"Deleted"},chromevox_perform_default_action:{message:"Perform default action"},chromevox_visited_url:{message:"visited"},chromevox_visited_url_brl:{message:"visited"},chromevox_exclamation:{message:"{COUNT, plural, =1 {exclamation point}other {# exclamation points}}"}, +chromevox_space:{message:"{COUNT, plural, =1 {space}other {# spaces}}"},chromevox_backtick:{message:"{COUNT, plural, =1 {backtick}other {# backticks}}"},chromevox_tilde:{message:"{COUNT, plural, =1 {TILDE}other {# tildes}}"},chromevox_at:{message:"{COUNT, plural, =1 {at}other {# at signs}}"},chromevox_pound:{message:"{COUNT, plural, =1 {pound}other {# pound signs}}"},chromevox_dollar:{message:"{COUNT, plural, =1 {dollar}other {# dollar signs}}"},chromevox_percent:{message:"{COUNT, plural, =1 {percent}other {# percent signs}}"}, +chromevox_caret:{message:"{COUNT, plural, =1 {caret}other {# carets}}"},chromevox_ampersand:{message:"{COUNT, plural, =1 {ampersand}other {# ampersands}}"},chromevox_asterisk:{message:"{COUNT, plural, =1 {asterisk}other {# asterisks}}"},chromevox_open_paren:{message:"{COUNT, plural, =1 {open paren}other {# open parens}}"},chromevox_close_paren:{message:"{COUNT, plural, =1 {close paren}other {# close parens}}"},chromevox_dash:{message:"{COUNT, plural, =1 {dash}other {# dashes}}"},chromevox_underscore:{message:"{COUNT, plural, =1 {underscore}other {# underscores}}"}, +chromevox_equals:{message:"{COUNT, plural, =1 {equal}other {# equal signs}}"},chromevox_plus:{message:"{COUNT, plural, =1 {plus}other {# plus signs}}"},chromevox_left_bracket:{message:"{COUNT, plural, =1 {left bracket}other {# left brackets}}"},chromevox_right_bracket:{message:"{COUNT, plural, =1 {right bracket}other {# right brackets}}"},chromevox_left_brace:{message:"{COUNT, plural, =1 {left brace}other {# left braces}}"},chromevox_right_brace:{message:"{COUNT, plural, =1 {right brace}other {# right braces}}"}, +chromevox_pipe:{message:"{COUNT, plural, =1 {pipe}other {# vertical pipes}}"},chromevox_semicolon:{message:"{COUNT, plural, =1 {semicolon}other {# semicolons}}"},chromevox_colon:{message:"{COUNT, plural, =1 {colon}other {# colons}}"},chromevox_comma:{message:"{COUNT, plural, =1 {comma}other {# commas}}"},chromevox_dot:{message:"{COUNT, plural, =1 {dot}=3 {ellipsis}other {# dots}}"},chromevox_less_than:{message:"{COUNT, plural, =1 {less than}other {# less than signs}}"},chromevox_greater_than:{message:"{COUNT, plural, =1 {greater than}other {# greater than signs}}"}, +chromevox_slash:{message:"{COUNT, plural, =1 {slash}other {# slashes}}"},chromevox_question_mark:{message:"{COUNT, plural, =1 {question mark}other {# question marks}}"},chromevox_quote:{message:"{COUNT, plural, =1 {quote}other {# quotes}}"},chromevox_apostrophe:{message:"{COUNT, plural, =1 {apostrophe}other {# apostrophes}}"},chromevox_tab:{message:"{COUNT, plural, =1 {tab}other {# tabs}}"},chromevox_backslash:{message:"{COUNT, plural, =1 {backslash}other {# backslashes}}"},chromevox_braille_routing:{message:"Click the item under a routing key"}, +chromevox_braille_pan_left:{message:"Pan backward"},chromevox_braille_pan_right:{message:"Pan bforward"},chromevox_braille_line_up:{message:"Braille previous Line"},chromevox_braille_line_down:{message:"Braille next Line"},chromevox_braille_top:{message:"Move braille display to top of page"},chromevox_braille_bottom:{message:"Move braille display to bottom of page"},chromevox_access_key:{message:"has access key, $1",placeholders:{1:{content:"$1"}}},chromevox_locale_dict:{message:'{"ar": "Arabic","bg": "Bulgarian","ca": "Catalan","hr": "Croatian","cs": "Czech","da": "Danish","nl": "Dutch","en_CA": "English (Canada)","en_GB": "English (United Kingdom)","en_US": "English (United States)","et": "Estonian","fr": "French","fr_CA": "French (Canada)","fr_FR": "French (France)","fi": "Finnish","de": "German","de_CH": "German (Switzerland)","de_DE": "German (Germany)","el": "Greek","hi": "Hindi","hu": "Hungarian","is": "Icelandic","it": "Italian","lv": "Latvian","lt": "Lithuanian","nb": "Norwegian Bokm\u00e5l","pl": "Polish","pt": "Portuguese","ro": "Romanian","ru": "Russian","sr": "Serbian","sk": "Slovak","sl": "Slovenian","es": "Spanish","sv": "Swedish","tr": "Turkish","vi": "Vietnamese","zh": "Chinese","zh_TW": "Chinese (Traditional Han)"}'}};cvox.TestMsgs=function(){};goog.inherits(cvox.TestMsgs,cvox.AbstractMsgs);cvox.TestMsgs.prototype.getMsg=function(a,b){if(!a){var c=Error();c.message="Message id required";throw c;}c=cvox.TestMessages["chromevox_"+a];if(void 0==c)throw c=Error(),c.message="missing-msg: "+a,c;var d=c.message;if(b)for(var e=0;e<b.length;e++){var f=c.placeholders[e+1];if(!f)throw c=Error(),c.message="Bad placeholder "+e+" for message id "+a,c;f=c.placeholders[e+1].content;d=d.replace(f,b[e])}return d}; +cvox.TestMsgs.prototype.getNumber=function(a){return""+a};cvox.HostFactory.msgsConstructor=cvox.TestMsgs;cvox.ChromeVox.initDocument(); diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/android/chromeandroidvox.js b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/android/chromeandroidvox.js new file mode 100644 index 00000000..8229b168 --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/android/chromeandroidvox.js @@ -0,0 +1,1778 @@ +// Copyright 2013 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +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.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}; +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":"Ctrl+Meta";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.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){Error.captureStackTrace?Error.captureStackTrace(this,goog.debug.Error):this.stack=Error().stack||"";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_,"&").replace(goog.string.ltRe_,"<").replace(goog.string.gtRe_,">").replace(goog.string.quotRe_,""");if(!goog.string.allRe_.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(goog.string.amperRe_,"&"));-1!=a.indexOf("<")&&(a=a.replace(goog.string.ltRe_,"<"));-1!=a.indexOf(">")&&(a=a.replace(goog.string.gtRe_,">"));-1!=a.indexOf('"')&&(a=a.replace(goog.string.quotRe_,"""));return a}; +goog.string.amperRe_=/&/g;goog.string.ltRe_=/</g;goog.string.gtRe_=/>/g;goog.string.quotRe_=/\"/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={"&":"&","<":"<",">":">",""":'"'},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,"  "),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.peek=function(a){return a[a.length-1]};goog.array.ARRAY_PROTOTYPE_=Array.prototype; +goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&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.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.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.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.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.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.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.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.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){goog.asserts.assert(null!=a.length);goog.array.ARRAY_PROTOTYPE_.sort.call(a,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.compare=function(a,b,c){return goog.array.equals(a,b,c)}; +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_ar_EG=goog.i18n.CompactNumberFormatSymbols_ar; +goog.i18n.CompactNumberFormatSymbols_bg={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0\u00a0\u0425"},1E4:{other:"00\u00a0\u0425"},1E5:{other:"000\u00a0\u0425"},1E6:{other:"0\u00a0\u041c"},1E7:{other:"00\u00a0\u041c"},1E8:{other:"000\u00a0\u041c"},1E9:{other:"0\u00a0\u0411"},1E10:{other:"00\u00a0\u0411"},1E11:{other:"000\u00a0\u0411"},1E12:{other:"0\u00a0\u0422"},1E13:{other:"00\u00a0\u0422"},1E14:{other:"000\u00a0\u0422"}},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:"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 \u09b9\u09be\u099c\u09be\u09b0"},1E4:{other:"00 \u09b9\u09be\u099c\u09be\u09b0"},1E5:{other:"000 \u09b9\u09be\u099c\u09be\u09b0"},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:"0\u00a0K"},1E4:{other:"00\u00a0K"},1E5:{other:"000\u00a0K"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0000\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 milions"},1E7:{other:"00 milions"}, +1E8:{other:"000 milions"},1E9:{other:"0 miliards"},1E10:{other:"00 miliards"},1E11:{other:"000 miliards"},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_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"},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"},1E4:{other:"0"},1E5:{other:"0"},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_de={COMPACT_DECIMAL_SHORT_PATTERN:{1E3:{other:"0"},1E4:{other:"0"},1E5:{other:"0"},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"},1E4:{other:"0"},1E5:{other:"0"},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"},1E4:{other:"0"},1E5:{other:"0"},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\u03c2"},1E10:{other:"00\u00a0\u03b4\u03b9\u03c2"},1E11:{other:"000\u00a0\u03b4\u03b9\u03c2"},1E12:{other:"0\u00a0\u03c4\u03c1\u03b9\u03c2"},1E13:{other:"00\u00a0\u03c4\u03c1\u03b9\u03c2"}, +1E14:{other:"000\u00a0\u03c4\u03c1\u03b9\u03c2"}},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_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_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_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_es={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:"0000\u00a0M"},1E10:{other:"00\u00a0K\u00a0M"},1E11:{other:"000\u00a0K\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 millardos"},1E10:{other:"00 millardos"},1E11:{other:"000 millardos"},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 millardos"},1E10:{other:"00 millardos"},1E11:{other:"000 millardos"},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:"0"},1E4:{other:"0"},1E5:{other:"0"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0000\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"},1E4:{other:"0"},1E5:{other:"0"},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 (na) libo"},1E4:{other:"00 (na) libo"},1E5:{other:"000 (na) libo"},1E6:{other:"0 (na) milyon"},1E7:{other:"00 (na) milyon"},1E8:{other:"000 (na) milyon"},1E9:{other:"0 (na) bilyon"}, +1E10:{other:"00 (na) bilyon"},1E11:{other:"000 (na) bilyon"},1E12:{other:"0 (na) trilyon"},1E13:{other:"00 (na) trilyon"},1E14:{other:"000 (na) 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_RE=goog.i18n.CompactNumberFormatSymbols_fr;goog.i18n.CompactNumberFormatSymbols_fr_YT=goog.i18n.CompactNumberFormatSymbols_fr; +goog.i18n.CompactNumberFormatSymbols_gl={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:"0000\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_gu={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 \u0ab9\u0a9c\u0abe\u0ab0"},1E4:{other:"00 \u0ab9\u0a9c\u0abe\u0ab0"},1E5:{other:"000 \u0ab9\u0a9c\u0abe\u0ab0"},1E6:{other:"0 \u0aae\u0abf\u0ab2\u0abf\u0aaf\u0aa8"}, +1E7:{other:"00 \u0aae\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E8:{other:"000 \u0aae\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E9:{other:"0 \u0aac\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E10:{other:"00 \u0aac\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E11:{other:"000 \u0aac\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E12:{other:"0 \u0a9f\u0acd\u0ab0\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E13:{other:"00 \u0a9f\u0acd\u0ab0\u0abf\u0ab2\u0abf\u0aaf\u0aa8"},1E14:{other:"000 \u0a9f\u0acd\u0ab0\u0abf\u0ab2\u0abf\u0aaf\u0aa8"}}}; +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"},1E4:{other:"0"},1E5:{other:"0"},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"},1E4:{other:"0"},1E5:{other:"0"},1E6:{other:"0 milijuna"},1E7:{other:"00 milijuna"},1E8:{other:"000 milijuna"}, +1E9:{other:"0 milijarda"},1E10:{other:"00 milijarda"},1E11:{other:"000 milijarda"},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:"0"},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:"0"},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\u00a0K"},1E4:{other:"00\u00a0K"},1E5:{other:"000\u00a0K"},1E6:{other:"0\u00a0M"},1E7:{other:"00\u00a0M"},1E8:{other:"000\u00a0M"},1E9:{other:"0\u00a0G"},1E10:{other:"00\u00a0G"},1E11:{other:"000\u00a0G"},1E12:{other:"0\u00a0T"},1E13:{other:"00\u00a0T"},1E14:{other:"000\u00a0T"}},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\u00a0md"},1E10:{other:"00\u00a0md"},1E11:{other:"000\u00a0md"},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 trilj."},1E13:{other:"00 trilj."},1E14:{other:"000 trilj."}}};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 \u0926\u0939\u093e \u0916\u0930\u092c"},1E13:{other:"00 \u0926\u0939\u093e \u0916\u0930\u092c"},1E14:{other:"000 \u0926\u0939\u093e \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"},1E4:{other:"0"},1E5:{other:"0"},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_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"},1E4:{other:"0"},1E5:{other:"0"},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\u00a0T"},1E13:{other:"00\u00a0T"},1E14:{other:"000\u00a0T"}},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:"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_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:"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 \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:"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 \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 (na) libo"},1E4:{other:"00 (na) libo"},1E5:{other:"000 (na) libo"},1E6:{other:"0 (na) milyon"},1E7:{other:"00 (na) milyon"},1E8:{other:"000 (na) milyon"},1E9:{other:"0 (na) bilyon"}, +1E10:{other:"00 (na) bilyon"},1E11:{other:"000 (na) bilyon"},1E12:{other:"0 (na) trilyon"},1E13:{other:"00 (na) trilyon"},1E14:{other:"000 (na) 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:"000\u00a0\u06a9\u06be\u0631\u0628"},1E14:{other:"0000\u00a0\u06a9\u06be\u0631\u0628"}}};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"},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\u4e07\u4ebf"},1E13:{other:"00\u4e07\u4ebf"},1E14:{other:"000\u4e07\u4ebf"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0"},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\u4e07\u4ebf"},1E13:{other:"00\u4e07\u4ebf"},1E14:{other:"000\u4e07\u4ebf"}}};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:"0G"},1E10:{other:"00G"},1E11:{other:"000G"},1E12:{other:"0T"},1E13:{other:"00\u5146"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0"},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:"0G"},1E10:{other:"00G"},1E11:{other:"000G"},1E12:{other:"0T"},1E13:{other:"00\u5146"},1E14:{other:"000T"}},COMPACT_DECIMAL_LONG_PATTERN:{1E3:{other:"0"},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;if("ar_EG"==goog.LOCALE||"ar-EG"==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;"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;"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_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_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_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;"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_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;"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;"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;(\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;(\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:"+",MINUS_SIGN:"-",EXP_SYMBOL:"\u0627\u0633",PERMILL:"\u0609",INFINITY:"\u221e",NAN:"\u0644\u064a\u0633\u00a0\u0631\u0642\u0645",DECIMAL_PATTERN:"#0.###;#0.###-",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"\u00a4\u00a0#0.00;\u00a4\u00a0#0.00-",DEF_CURRENCY_CODE:"EGP"};goog.i18n.NumberFormatSymbols_ar_001=goog.i18n.NumberFormatSymbols_ar; +goog.i18n.NumberFormatSymbols_ar_EG=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:"\u00a4#,##0.00;(\u00a4#,##0.00)",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_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;(\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_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;(\u00a4#,##0.00)",DEF_CURRENCY_CODE:"USD"};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;(\u00a4#,##0.00)",DEF_CURRENCY_CODE:"AUD"};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;(\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_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;(\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;(\u00a4#,##0.00)",DEF_CURRENCY_CODE:"ZAR"}; +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:"E",PERMILL:"\u2030",INFINITY:"\u221e",NAN:"NaN",DECIMAL_PATTERN:"#,##0.###",SCIENTIFIC_PATTERN:"#E0",PERCENT_PATTERN:"#,##0%",CURRENCY_PATTERN:"#,##0.00\u00a0\u00a4;(#,##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;(#,##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:"+",MINUS_SIGN:"\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;\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:"-",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;(\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;(#,##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;(#,##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_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;(\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_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;(\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;(\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:"+",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:"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\u00a0#,##,##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:"\u00a4#,##0.00;(\u00a4#,##0.00)",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:"\u00a4\u00a0#,##0.00",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:"+",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:"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;(\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:"\u2013",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:"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:"LVL"};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;(\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;(\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:"-",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_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:"-",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;(#,##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;(\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:"\u00a4#,##0.00",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;(\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;(\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;(\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;(\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;(#,##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:"+",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:"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#,##0.00;(\u00a4#,##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;(\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;(\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;if("ar_EG"==goog.LOCALE||"ar-EG"==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;"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;"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_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_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_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;"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_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;"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;"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}; +goog.i18n.NumberFormat.prototype.setMaximumFractionDigits=function(a){this.maximumFractionDigits_=a};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}; +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.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.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.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.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.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.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.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.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.zuSelect_=function(a){return 1==a?goog.i18n.ordinalRules.Keyword.ONE:a==(a|0)&&2<=a&&9>=a?goog.i18n.ordinalRules.Keyword.FEW:a==(a|0)&&(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.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_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_);"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.defaultSelect_);"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.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:a==(a|0)&&3<=a%100&&10>=a%100?goog.i18n.pluralRules.Keyword.FEW:a==(a|0)&&11<=a%100&&99>=a%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.heSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:2==a?goog.i18n.pluralRules.Keyword.TWO:0!=a&&0==a%10?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.enSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.filSelect_=function(a){return 0==a||1==a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.frSelect_=function(a){return 0<=a&&2>=a&&2!=a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.lvSelect_=function(a){return 0==a?goog.i18n.pluralRules.Keyword.ZERO:1==a%10&&11!=a%100?goog.i18n.pluralRules.Keyword.ONE: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.gaSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:2==a?goog.i18n.pluralRules.Keyword.TWO:a==(a|0)&&3<=a&&6>=a?goog.i18n.pluralRules.Keyword.FEW:a==(a|0)&&7<=a&&10>=a?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.roSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:0==a||1!=a&&a==(a|0)&&1<=a%100&&19>=a%100?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.ltSelect_=function(a){return 1==a%10&&(11>a%100||19<a%100)?goog.i18n.pluralRules.Keyword.ONE:a==(a|0)&&2<=a%10&&9>=a%10&&(11>a%100||19<a%100)?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.beSelect_=function(a){return 1==a%10&&11!=a%100?goog.i18n.pluralRules.Keyword.ONE:a==(a|0)&&2<=a%10&&4>=a%10&&(12>a%100||14<a%100)?goog.i18n.pluralRules.Keyword.FEW:0==a%10||a==(a|0)&&5<=a%10&&9>=a%10||a==(a|0)&&11<=a%100&&14>=a%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.csSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:a==(a|0)&&2<=a&&4>=a?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.plSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:a==(a|0)&&2<=a%10&&4>=a%10&&(12>a%100||14<a%100)?goog.i18n.pluralRules.Keyword.FEW:1!=a&&(0==a%10||1==a%10)||a==(a|0)&&5<=a%10&&9>=a%10||a==(a|0)&&12<=a%100&&14>=a%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.slSelect_=function(a){return 1==a%100?goog.i18n.pluralRules.Keyword.ONE:2==a%100?goog.i18n.pluralRules.Keyword.TWO:3==a%100||4==a%100?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.mtSelect_=function(a){return 1==a?goog.i18n.pluralRules.Keyword.ONE:0==a||a==(a|0)&&2<=a%100&&10>=a%100?goog.i18n.pluralRules.Keyword.FEW:a==(a|0)&&11<=a%100&&19>=a%100?goog.i18n.pluralRules.Keyword.MANY:goog.i18n.pluralRules.Keyword.OTHER}; +goog.i18n.pluralRules.mkSelect_=function(a){return 1==a%10&&11!=a?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.lagSelect_=function(a){return 0==a?goog.i18n.pluralRules.Keyword.ZERO:0<=a&&2>=a&&0!=a&&2!=a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.shiSelect_=function(a){return 0<=a&&1>=a?goog.i18n.pluralRules.Keyword.ONE:a==(a|0)&&2<=a&&10>=a?goog.i18n.pluralRules.Keyword.FEW: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.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.tzmSelect_=function(a){return 0==a||1==a||a==(a|0)&&11<=a&&99>=a?goog.i18n.pluralRules.Keyword.ONE:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.gvSelect_=function(a){return 1==a%10||2==a%10||0==a%20?goog.i18n.pluralRules.Keyword.ONE: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:a==(a|0)&&(3<=a&&10>=a||13<=a&&19>=a)?goog.i18n.pluralRules.Keyword.FEW:goog.i18n.pluralRules.Keyword.OTHER};goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;"af"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"am"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.filSelect_); +"ar"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.arSelect_);"bg"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"bn"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"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.enSelect_); +"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.enSelect_);"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.enSelect_);"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_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.enSelect_);if("es_419"==goog.LOCALE||"es-419"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;if("es_ES"==goog.LOCALE||"es-ES"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;"et"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_); +"eu"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"fa"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);"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.enSelect_);"gu"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"haw"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"he"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.heSelect_);"hi"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.filSelect_); +"hr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.beSelect_);"hu"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);"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.enSelect_);"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.defaultSelect_);"ko"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.defaultSelect_);"ln"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.filSelect_);"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.enSelect_);"mr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"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.enSelect_); +"nl"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"no"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"or"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"pl"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.plSelect_);"pt"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);if("pt_BR"==goog.LOCALE||"pt-BR"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_; +if("pt_PT"==goog.LOCALE||"pt-PT"==goog.LOCALE)goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_;"ro"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.roSelect_);"ru"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.beSelect_);"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.enSelect_); +"sr"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.beSelect_);"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.enSelect_);"te"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.enSelect_);"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.defaultSelect_);"uk"==goog.LOCALE&&(goog.i18n.pluralRules.select=goog.i18n.pluralRules.beSelect_);"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.enSelect_);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=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.prototype.mergeProperties=function(a){var b={},c;if(this.ttsProperties)for(c in this.ttsProperties)b[c]=this.ttsProperties[c];if(a){c=cvox.AbstractTts;"number"==typeof a[c.VOLUME]&&(b[c.VOLUME]=a[c.VOLUME]);"number"==typeof a[c.PITCH]&&(b[c.PITCH]=a[c.PITCH]);"number"==typeof a[c.RATE]&&(b[c.RATE]=a[c.RATE]);"string"==typeof a[c.LANG]&&(b[c.LANG]=a[c.LANG]);var d=this,e=function(c,e){if("number"==typeof a[e]&&"number"==typeof b[c]){b[c]+=a[e];var h=d.propertyMin[c],k=d.propertyMax[c]; +b[c]>k?b[c]=k:b[c]<h&&(b[c]=h)}};e(c.VOLUME,c.RELATIVE_VOLUME);e(c.PITCH,c.RELATIVE_PITCH);e(c.RATE,c.RELATIVE_RATE)}return b};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_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.earconsAvailable=function(){return!0}; +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.CHROMEVOX_DISABLED=cvox.AbstractEarcons.CHROMEVOX_DISABLED,this.earconNamesToIds.CHROMEVOX_ENABLED=cvox.AbstractEarcons.CHROMEVOX_ENABLED,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.getEarconFilename=function(a){return cvox.AbstractEarcons.earconMap[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.CHROMEVOX_DISABLED=8;cvox.AbstractEarcons.CHROMEVOX_ENABLED=9;cvox.AbstractEarcons.COLLAPSED=10;cvox.AbstractEarcons.EDITABLE_TEXT=11;cvox.AbstractEarcons.ELLIPSIS=12;cvox.AbstractEarcons.EXPANDED=13;cvox.AbstractEarcons.FONT_CHANGE=14;cvox.AbstractEarcons.INVALID_KEYPRESS=15;cvox.AbstractEarcons.LINK=16;cvox.AbstractEarcons.LISTBOX=17;cvox.AbstractEarcons.LIST_ITEM=18; +cvox.AbstractEarcons.LONG_DESC=19;cvox.AbstractEarcons.NEW_MAIL=20;cvox.AbstractEarcons.OBJECT_CLOSE=21;cvox.AbstractEarcons.OBJECT_DELETE=22;cvox.AbstractEarcons.OBJECT_DESELECT=23;cvox.AbstractEarcons.OBJECT_ENTER=24;cvox.AbstractEarcons.OBJECT_EXIT=25;cvox.AbstractEarcons.OBJECT_OPEN=26;cvox.AbstractEarcons.OBJECT_SELECT=27;cvox.AbstractEarcons.PARAGRAPH_BREAK=28;cvox.AbstractEarcons.SEARCH_HIT=29;cvox.AbstractEarcons.SEARCH_MISS=30;cvox.AbstractEarcons.SECTION=31; +cvox.AbstractEarcons.SELECTION=32;cvox.AbstractEarcons.SELECTION_REVERSE=33;cvox.AbstractEarcons.SPECIAL_CONTENT=34;cvox.AbstractEarcons.TASK_SUCCESS=35;cvox.AbstractEarcons.WRAP=36;cvox.AbstractEarcons.WRAP_EDGE=37;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.CHROMEVOX_DISABLED]="chromevox_disabled.ogg"; +cvox.AbstractEarcons.earconMap[cvox.AbstractEarcons.CHROMEVOX_ENABLED]="chromevox_enabled.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,!0)}}; +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.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.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.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.getSpan=function(a){for(var b=0;b<this.spans_.length;b++){var c=this.spans_[b];if(c.start<=a&&a<c.end)return c.value}};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}return null};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}return null}; +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.trim=function(){if(/^\s*$/.test(this.string_))return this.substring(0,0);var a=this.string_.match(/^\s*/)[0].length,b=this.string_.match(/\s*$/).index;return this.substring(a,b)};cvox.NavBraille=function(a){this.text=a.text instanceof cvox.Spannable?a.text:new cvox.Spannable(a.text);this.startIndex=a.startIndex?a.startIndex:0;this.endIndex=a.endIndex?a.endIndex:0};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.toJson=function(){return{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.AbstractBraille=function(){};cvox.AbstractHost=function(){};cvox.AbstractHost.State={ACTIVE:0,INACTIVE:1,KILLED:2};cvox.AbstractHost.prototype.init=function(){};cvox.AbstractHost.prototype.reinit=function(){};cvox.AbstractHost.prototype.onPageLoad=function(){};cvox.AbstractHost.prototype.getApiSrc=function(){return""};cvox.AbstractHost.prototype.getFileSrc=function(){return""};cvox.AbstractHost.prototype.hasTtsCallback=function(){return!0};cvox.AbstractHost.prototype.ttsLoaded=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.killChromeVox=function(){this.onStateChanged_(cvox.AbstractHost.State.KILLED)}; +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.isMathjaxActive=function(){};cvox.MathJaxInterface.prototype.getAllJax=function(){};cvox.MathJaxInterface.prototype.registerSignal=function(){};cvox.MathJaxInterface.prototype.injectScripts=function(){};cvox.MathJaxInterface.prototype.configMediaWiki=function(){};cvox.MathJaxInterface.prototype.getTex=function(){};cvox.MathJaxInterface.prototype.getAsciiMath=function(){};cvox.AbstractMathJax=function(){};cvox.AbstractMathJax.prototype.getAllTexs=function(a){for(var b=document.querySelectorAll(cvox.DomUtil.altMathQuerySelector("tex")),c=0,d;d=b[c];c++)this.getTex(a,d)};cvox.AbstractMathJax.prototype.getAllAsciiMaths=function(a){for(var b=document.querySelectorAll(cvox.DomUtil.altMathQuerySelector("asciimath")),c=0,d;d=b[c];c++)this.getAsciiMath(a,d)}; +cvox.AbstractMathJax.prototype.convertMarkupToDom=function(a,b,c){if(b){var d=new DOMParser;b=b.replace(/>\s+</g,"><");a(d.parseFromString(b,"text/xml").firstChild,c)}};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.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.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.BuildInfo={};cvox.BuildInfo.build="1384906195.369502";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");})}();"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.installScript=function(a,b,c,d){if(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;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.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.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.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.getValue=function(){var a="";if(this.multiline){if(a+="multiline editable text. ",this.start==this.end)var b=this.getLine(this.getLineIndex(this.start)),a=b?a+b:a+"blank"}else a=this.node?a+cvox.DomUtil.getValue(this.node):a+this.value,a=a<=this.maxShortPhraseLen?a+", editable text":a.substring(0,this.maxShortPhraseLen)+", editable text";return a}; +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);b=this.value.substr(b,a-b);return b.replace(/^\s+|\s+$/g,"")};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"));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?this.speak(cvox.ChromeVox.msgs.getMsg("end"),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.ChromeVoxEditableTextBase.prototype.moveCursorToNextCharacter=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToPreviousCharacter=function(){return!1}; +cvox.ChromeVoxEditableTextBase.prototype.moveCursorToNextWord=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToPreviousWord=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToNextLine=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToPreviousLine=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToNextParagraph=function(){return!1};cvox.ChromeVoxEditableTextBase.prototype.moveCursorToPreviousParagraph=function(){return!1}; +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.ChromeVoxEditableElement.prototype.getValue=function(){this.justSpokeDescription_=!0;return cvox.ChromeVoxEditableElement.superClass_.getValue.call(this)};cvox.ChromeVoxEditableElement.prototype.moveCursorToNextCharacter=function(){var a=this.node;a.selectionEnd++;a.selectionStart=a.selectionEnd;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableElement.prototype.moveCursorToPreviousCharacter=function(){var a=this.node;a.selectionStart--;a.selectionEnd=a.selectionStart;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableElement.prototype.moveCursorToNextWord=function(){var a=this.node,b=a.value.length,c=/\W+/gm,d=a.value.substring(a.selectionEnd),e=c.exec(d);null!==e&&0==e.index&&(e=c.exec(d));b=null===e?b:e.index+a.selectionEnd;a.selectionStart=a.selectionEnd=b;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableElement.prototype.moveCursorToPreviousWord=function(){for(var a=this.node,b=/\W+/gm,c=a.value.substring(0,a.selectionStart),d=0;null!==b.exec(c);)b.lastIndex<a.selectionStart&&(d=b.lastIndex);a.selectionStart=a.selectionEnd=d;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableElement.prototype.moveCursorToNextParagraph=function(){var a=this.node,b=a.value.length,c=a.selectionEnd>=b?b:a.value.indexOf("\n",a.selectionEnd);0>c&&(c=b);a.selectionStart=a.selectionEnd=c+1;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableElement.prototype.moveCursorToPreviousParagraph=function(){var a=this.node,b=0>=a.selectionStart?0:a.value.lastIndexOf("\n",a.selectionStart-2)+1;0>b&&(b=0);a.selectionStart=a.selectionEnd=b;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0};cvox.ChromeVoxEditableHTMLInput=function(a,b){cvox.ChromeVoxEditableElement.call(this,a,a.value,a.selectionStart,a.selectionEnd,"password"===a.type,b)};goog.inherits(cvox.ChromeVoxEditableHTMLInput,cvox.ChromeVoxEditableElement); +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.ChromeVoxEditableTextArea.prototype.moveCursorToNextLine=function(){var a=this.node,b=a.value.length;if(a.selectionEnd>=b)return!1;var c=this.getShadow(),d=c.getLineIndex(a.selectionEnd),e=c.getLineStart(d),e=a.selectionEnd-e,f=0==b?0:c.getLineIndex(b-1),b=d>=f?b:Math.min(c.getLineStart(d+1)+e,c.getLineEnd(d+1));a.selectionStart=a.selectionEnd=b;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableTextArea.prototype.moveCursorToPreviousLine=function(){var a=this.node;if(0>=a.selectionStart)return!1;var b=this.getShadow(),c=b.getLineIndex(a.selectionStart),d=b.getLineStart(c),d=a.selectionStart-d,b=0>=c?0:Math.min(b.getLineStart(c-1)+d,b.getLineEnd(c-1));a.selectionStart=a.selectionEnd=b;cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +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.moveCursorToNextCharacter=function(){window.getSelection().modify("move","forward","character");cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0};cvox.ChromeVoxEditableContentEditable.prototype.moveCursorToPreviousCharacter=function(){window.getSelection().modify("move","backward","character");cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0}; +cvox.ChromeVoxEditableContentEditable.prototype.moveCursorToNextParagraph=function(){window.getSelection().modify("move","forward","paragraph");cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0};cvox.ChromeVoxEditableContentEditable.prototype.moveCursorToPreviousParagraph=function(){window.getSelection().modify("move","backward","paragraph");cvox.ChromeVoxEventWatcher.handleTextChanged(!0);return!0};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.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.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.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.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.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.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"},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.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;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.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.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(){var a=goog.bind(function(a,c){this.addMathjax(a,c)},this);cvox.ChromeVox.mathJax.isMathjaxActive(function(b){b&&(cvox.ChromeVox.mathJax.getAllJax(a),cvox.ChromeVox.mathJax.registerSignal(a,"New Math"))})}; +cvox.TraverseMath.prototype.initializeAltMaths=function(){if(document.querySelector(cvox.DomUtil.altMathQuerySelector("tex")+", "+cvox.DomUtil.altMathQuerySelector("asciimath"))){var a=goog.bind(function(a,c){this.allTexs_[c]=a},this);cvox.ChromeVox.mathJax.injectScripts();cvox.ChromeVox.mathJax.isMathjaxActive(function(b){b&&(cvox.ChromeVox.mathJax.configMediaWiki(),cvox.ChromeVox.mathJax.getAllTexs(a),cvox.ChromeVox.mathJax.getAllAsciiMaths(a))})}}; +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.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.getDynamicConstraintValues=function(){for(var a={},b=0,c;c=this.speechRules_[b];b++)for(var d in c.dynamicCstr){var e=[c.dynamicCstr[d]];a[d]=a[d]?cvox.MathUtil.union(a[d],e):e}return a}; +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_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&&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:{};for(var d=c.roleMsg||(b?cvox.DomUtil.getRoleMsg(b,cvox.VERBOSITY_VERBOSE):""),d=cvox.BrailleUtil.TEMPLATE[d]||cvox.BrailleUtil.TEMPLATE.base,e=new cvox.Spannable,f=function(d){switch(d){case "n":return c.name||cvox.BrailleUtil.getName(b);case "r":return c.role||cvox.BrailleUtil.getRole(b);case "s":return c.state||cvox.BrailleUtil.getState(b);case "c":return c.container||cvox.BrailleUtil.getContainer(a,b);case "v":return c.value?new cvox.Spannable(c.value, +new cvox.BrailleUtil.ValueSpan(0)):cvox.BrailleUtil.getValue(b);default:return d}},g=0;g<d.length;g++){var h=f(d[g]);e.append(h);h.toString()||" "!=d[g+1]||g++}return e.trim()};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);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.NavigationManager.prototype.stopReading=function(a){this.keepReading_=!1;this.navSpeaker_.stopReading=!0;a&&cvox.ChromeVox.tts.stop();void 0!=this.prevStickyState_&&(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.ignoreIframesNoMatterWhat=function(){this.ignoreIframesNoMatterWhat_=!0};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)&&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.nextResult=function(a){if(!this.isActive())return null;var b=this.txtNode_.value;return this.next_(b,a)};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.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.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":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();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":break;case "showOptionsPage":cvox.ChromeVox.tts.stop();break;case "showKbExplorerPage":cvox.ChromeVox.tts.stop();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])&&(a.announce=!0,cvox.DomUtil.isInternalLink(document.activeElement)&&(cvox.DomUtil.syncInternalLink(document.activeElement),cvox.ChromeVox.navigationManager.sync()));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":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":break;case "toggleStickyMode":break;case "toggleKeyPrefix":cvox.ChromeVox.keyPrefixOn=!cvox.ChromeVox.keyPrefixOn;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.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.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){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.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=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.Serializer=function(){};cvox.Serializer.prototype.storeOn=function(a){cvox.ChromeVox.storeOn(a);cvox.ChromeVoxEventWatcher.storeOn(a)};cvox.Serializer.prototype.readFrom=function(a){cvox.ChromeVox.readFrom(a);cvox.ChromeVoxEventWatcher.readFrom(a)};cvox.InitGlobals=function(){}; +cvox.InitGlobals.initGlobals=function(){cvox.ChromeVox.host||(cvox.ChromeVox.host=cvox.HostFactory.getHost());cvox.ChromeVox.tts=(new cvox.CompositeTts).add(cvox.HostFactory.getTts()).add(cvox.History.getInstance()).add(cvox.ConsoleTts.getInstance());cvox.ChromeVox.braille||(cvox.ChromeVox.braille=cvox.HostFactory.getBraille());cvox.ChromeVox.mathJax=cvox.HostFactory.getMathJax();cvox.ChromeVox.earcons=cvox.HostFactory.getEarcons();cvox.ChromeVox.msgs=cvox.HostFactory.getMsgs();cvox.ChromeVox.isActive= +!0;cvox.ChromeVox.navigationManager=new cvox.NavigationManager;cvox.ChromeVox.navigationManager.updateIndicator();cvox.ChromeVox.syncToNode=cvox.ApiImplementation.syncToNode;cvox.ChromeVox.speakNode=cvox.ApiImplementation.speakNode;cvox.ChromeVox.serializer=new cvox.Serializer;cvox.ChromeVox.host.init();cvox.ChromeVoxEventWatcher.init(window);cvox.ChromeVox.executeUserCommand=function(a){cvox.ChromeVoxUserCommands.commands[a]()};cvox.ChromeVox.host.onPageLoad()};cvox.ChromeVoxInit={};cvox.ChromeVox.initTimeout_=100;cvox.ChromeVox.recallInit_=function(a){window.console.log(a+" Will try again in "+cvox.ChromeVox.initTimeout_+"ms");window.setTimeout(cvox.ChromeVox.initDocument,cvox.ChromeVox.initTimeout_);cvox.ChromeVox.initTimeout_*=2}; +cvox.ChromeVox.initDocument=function(){document.body?(cvox.ChromeVox.host=cvox.HostFactory.getHost(),cvox.ChromeVox.host.ttsLoaded()?(window.console.log("Starting ChromeVox."),cvox.InitGlobals.initGlobals(),window.disableChromeVox=function(){cvox.ChromeVox.host.killChromeVox()}):cvox.ChromeVox.recallInit_("ChromeVox not starting; waiting for TTS. "+document.location.href+".")):cvox.ChromeVox.recallInit_("ChromeVox not starting on unloaded page: "+document.location.href+".")}; +cvox.ChromeVox.reinit=function(){cvox.ChromeVox.host.reinit();cvox.ChromeVox.initDocument()};cvox.AndroidBraille=function(){};goog.inherits(cvox.AndroidBraille,cvox.AbstractBraille);cvox.AndroidBraille.prototype.write=function(a){accessibility.braille&&accessibility.braille(JSON.stringify(a.toJson()))};cvox.HostFactory.brailleConstructor=cvox.AndroidBraille;cvox.AndroidEarcons=function(){cvox.AbstractEarcons.call(this);this.audioMap={}};goog.inherits(cvox.AndroidEarcons,cvox.AbstractEarcons);cvox.AndroidEarcons.BASE_URL="https://ssl.gstatic.com/accessibility/javascript/android/earcons/"; +cvox.AndroidEarcons.prototype.playEarcon=function(a){if(this.earconsAvailable()){cvox.AndroidEarcons.superClass_.playEarcon.call(this,a);this.currentAudio=this.audioMap[a];this.currentAudio||(this.currentAudio=new Audio(cvox.AndroidEarcons.BASE_URL+this.getEarconFilename(a)),this.audioMap[a]=this.currentAudio);try{this.currentAudio.currentTime=0}catch(b){}this.currentAudio.paused&&this.currentAudio.play()}}; +cvox.AndroidEarcons.prototype.earconsAvailable=function(){return-1==navigator.userAgent.indexOf("Chrome")?!1:!0};cvox.HostFactory.earconsConstructor=cvox.AndroidEarcons;"undefined"!=typeof goog&&goog.provide&&(cvox.Api={},cvox.Api.Math={}); +(function(){function a(){d&&(d.port1.close(),d.port2.close(),d=null);d=new MessageChannel;window.postMessage("cvox.PortSetup",[d.port2],"*");d.port1.onmessage=function(a){"cvox.Disconnect"==a.data&&(d=null);try{var b=JSON.parse(a.data);b.id&&g[b.id]&&(g[b.id](b),delete g[b.id])}catch(c){}}}function b(a,b){var c=f;f++;void 0===a.args&&(a.args=[]);a.args=[c].concat(a.args);g[c]=b;d.port1.postMessage(JSON.stringify(a))}function c(a,c){var d=null;c&&c.endCallback&&(d=c.endCallback);b(a,d)}var d,e=!1, +f=1,g={};window.cvox||(window.cvox={});var h=window.cvox,k=null;"undefined"!=typeof h.ApiImplementation&&(k=h.ApiImplementation);h.Api=function(){};h.Api.internalEnable=function(){e=!0;k||a();var b=document.createEvent("UIEvents");b.initEvent("chromeVoxLoaded",!0,!1);document.dispatchEvent(b)};h.Api.internalDisable=function(){e=!1;d=null;var a=document.createEvent("UIEvents");a.initEvent("chromeVoxUnloaded",!0,!1);document.dispatchEvent(a)};h.Api.isChromeVoxActive=function(){return k?e:!!d};h.Api.speak= +function(a,b,d){h.Api.isChromeVoxActive()&&(k?k.speak(a,b,d):(a={cmd:"speak",args:[a,b,d]},c(a,d)))};h.Api.speakNode=function(a,b,d){h.Api.isChromeVoxActive()&&(k?k.speak(h.DomUtil.getName(a),b,d):(a={cmd:"speakNodeRef",args:[h.ApiUtils.makeNodeReference(a),b,d]},c(a,d)))};h.Api.stop=function(){if(h.Api.isChromeVoxActive())if(k)k.stop();else{var a={cmd:"stop"};d.port1.postMessage(JSON.stringify(a))}};h.Api.playEarcon=function(a){h.Api.isChromeVoxActive()&&(k?k.playEarcon(a):(a={cmd:"playEarcon",args:[a]}, +d.port1.postMessage(JSON.stringify(a))))};h.Api.syncToNode=function(a,b){if(h.Api.isChromeVoxActive()&&a)if(k)k.syncToNode(a,b);else{var c={cmd:"syncToNodeRef",args:[h.ApiUtils.makeNodeReference(a),b]};d.port1.postMessage(JSON.stringify(c))}};h.Api.getCurrentNode=function(a){h.Api.isChromeVoxActive()&&a&&(k?a(h.ChromeVox.navigationManager.getCurrentNode()):b({cmd:"getCurrentNode"},function(b){a(h.ApiUtils.getNodeFromRef(b.currentNode))}))};h.Api.setSpeechForNode=function(a,b){h.Api.isChromeVoxActive()&& +a&&b&&a.setAttribute("cvoxnodedesc",JSON.stringify(b))};h.Api.click=function(a,b){if(h.Api.isChromeVoxActive()&&a)if(k)h.DomUtil.clickElem(a,b,!0);else{var c={cmd:"clickNodeRef",args:[h.ApiUtils.makeNodeReference(a),b]};d.port1.postMessage(JSON.stringify(c))}};h.Api.getBuild=function(a){h.Api.isChromeVoxActive()&&a&&(k?a(h.BuildInfo.build):b({cmd:"getBuild"},function(b){a(b.build)}))};h.Api.getVersion=function(a){h.Api.isChromeVoxActive()&&a&&(k?a(h.ChromeVox.version+""):b({cmd:"getVersion"},function(b){a(b.version)}))}; +h.Api.getCvoxModifierKeys=function(a){h.Api.isChromeVoxActive()&&a&&(k?a(h.KeyUtil.cvoxModKeyCodes()):b({cmd:"getCvoxModKeys"},function(b){a(b.keyCodes)}))};h.Api.isKeyShortcut=function(a,c){if(c)if(h.Api.isChromeVoxActive()){var d=[37,39];if(!d.indexOf(a.keyCode)||a.altKey||a.shiftKey||a.ctrlKey||a.metaKey)if(k){var e=h.KeyUtil.keyEventToKeySequence(a);c(h.ChromeVoxKbHandler.handlerKeyMap.hasKey(e))}else{var d={},f=["target","srcElement","currentTarget","view"];for(e in a)-1===f.indexOf(e)&&(d[e]= +a[e]);e={cmd:"isKeyShortcut",args:[d]};b(e,function(a){c(a.isHandled)})}else c(!1)}else c(!1)};h.Api.setKeyEcho=function(a){h.Api.isChromeVoxActive()&&(k?k.setKeyEcho(a):(a={cmd:"setKeyEcho",args:[a]},d.port1.postMessage(JSON.stringify(a))))};h.Api.Math=function(){};h.Api.Math.defineRule=function(a,b,c,e,f){if(h.Api.isChromeVoxActive()){var g=Array.prototype.slice.call(arguments,4),g=[a,b,c,e].concat(g);k?k.Math.defineRule.apply(k.Math,g):(g={cmd:"Math.defineRule",args:g},d.port1.postMessage(JSON.stringify(g)))}}; +h.Api.internalEnable();h.NodeDescription=function(a,b,c,d){this.context=a?a:"";this.text=b?b:"";this.userValue=c?c:"";this.annotation=d?d:""}})();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.AndroidKeyMap=function(){}; +cvox.AndroidKeyMap.getStringifiedKeyMap=function(){return cvox.ChromeVoxJSON.stringify({'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[17]}}':"stopSpeech",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[9]}}':"handleTab",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[9]}}':"handleTabPrev", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[38]}}':"backward",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[40]}}':"forward",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[37]}}':"previousGranularity", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[39]}}':"nextGranularity",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[false],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[13]}}':"forceClickOnCurrentItem",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[false],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[40]}}':"readFromHere", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[85]}}':"readLinkURL",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[75]}}':"fullyDescribe",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[189]}}':"decreaseTtsPitch", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[187]}}':"increaseTtsPitch",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[219]}}':"decreaseTtsRate",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[221]}}':"increaseTtsRate", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[81]}}':"cyclePunctuationLevel",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[49]}}':"nextHeading1",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[49]}}':"previousHeading1", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[50]}}':"nextHeading2",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[50]}}':"previousHeading2",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[51]}}':"nextHeading3", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[51]}}':"previousHeading3",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[52]}}':"nextHeading4",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[52]}}':"previousHeading4", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[53]}}':"nextHeading5",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[53]}}':"previousHeading5",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[54]}}':"nextHeading6", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[54]}}':"previousHeading6",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[67]}}':"nextComboBox",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[67]}}':"previousComboBox", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[69]}}':"nextEditText",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[69]}}':"previousEditText",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[70]}}':"nextFormField", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[70]}}':"previousFormField",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[71]}}':"nextGraphic",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[71]}}':"previousGraphic", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[72]}}':"nextHeading",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[72]}}':"previousHeading",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[73]}}':"nextListItem", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[73]}}':"previousListItem",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[76]}}':"nextLink",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[76]}}':"previousLink", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[79]}}':"nextList",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[79]}}':"previousList",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[82]}}':"nextRadio", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[82]}}':"previousRadio",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[84]}}':"nextTable",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[84]}}':"previousTable", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[66]}}':"nextButton",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[66]}}':"previousButton",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[88]}}':"nextCheckbox", +'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[88]}}':"previousCheckbox",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[false],"metaKey":[false],"keyCode":[186]}}':"nextLandmark",'{"cvoxModifier":false,"stickyMode":false,"prefixKey":false,"keys":{"ctrlKey":[true],"searchKeyHeld":[false],"altKey":[true],"altGraphKey":[false],"shiftKey":[true],"metaKey":[false],"keyCode":[186]}}':"previousLandmark"})};cvox.MathSimpleStore=function(){cvox.MathStore.call(this)};goog.inherits(cvox.MathSimpleStore,cvox.MathStore);cvox.MathSimpleStore.prototype.defineRulesFromMappings=function(a,b,c){for(var d in c)for(var e in c[d]){var f=c[d][e],g='self::text() = "'+b+'"';this.defineRule(a,d+"."+e,'[t] "'+f+'"',"self::text()",g)}};cvox.MathCompoundStore=function(){this.subStores_={}};goog.addSingletonGetter(cvox.MathCompoundStore); +cvox.MathCompoundStore.prototype.defineRules=function(a,b,c){var d=new cvox.MathSimpleStore;d.defineRulesFromMappings(a,b,c);this.subStores_[b]=d};cvox.MathCompoundStore.prototype.addSymbolRules=function(a){var b=cvox.MathSimpleStore.parseUnicode_(a.key);this.defineRules(a.key,b,a.mappings)};cvox.MathCompoundStore.prototype.addFunctionRules=function(a){var b=a.names;a=a.mappings;for(var c=0,d;d=b[c];c++)this.defineRules(d,d,a)}; +cvox.MathCompoundStore.prototype.lookupRule=function(a,b){var c=this.subStores_[a.textContent];if(c)return c.lookupRule(a,b)};cvox.MathCompoundStore.prototype.lookupString=function(a,b){var c=document.createTextNode(a);return(c=this.lookupRule(c,b))?c.action.components.map(function(a){return a.content.slice(1,-1)}).join(" "):""}; +cvox.MathCompoundStore.prototype.getDynamicConstraintValues=function(){var a={},b;for(b in this.subStores_){var c=this.subStores_[b].getDynamicConstraintValues(),d;for(d in c){var e=a[d];a[d]=e?cvox.MathUtil.union(e,c[d]):c[d]}}return a};cvox.MathSimpleStore.parseUnicode_=function(a){var b=parseInt(a,16);if(65536>b)return String.fromCharCode(b);b-=65536;a=(b>>10)+55296;b=(b&1023)+56320;return String.fromCharCode(a,b)};cvox.AndroidMathMap=function(){this.store_=cvox.MathCompoundStore.getInstance();cvox.AndroidMathMap.FUNCTION_MAPPINGS_.forEach(goog.bind(this.store_.addFunctionRules,this.store_));cvox.AndroidMathMap.SYMBOL_MAPPINGS_.forEach(goog.bind(this.store_.addSymbolRules,this.store_));this.store_.getDynamicConstraintValues()}; +cvox.AndroidMathMap.prototype.evaluate=function(a,b,c){var d="";b=cvox.MathStore.createDynamicConstraint(b,c);d=this.store_.lookupString(a,b);return new cvox.NavDescription({text:d?d:a})}; +cvox.AndroidMathMap.SYMBOL_MAPPINGS_=[{category:"Po",mappings:{"default":{"default":"exclamation mark"}},key:"0021"},{category:"Po",mappings:{"default":{"default":"quotation mark"}},key:"0022"},{category:"Po",mappings:{"default":{"default":"number sign",alternative:"hash","short":"number"}},key:"0023"},{category:"Sc",mappings:{"default":{"default":"dollar sign","short":"dollar"}},key:"0024"},{category:"Po",mappings:{"default":{"default":"percent sign","short":"percent"}},key:"0025"},{category:"Po", +mappings:{"default":{"default":"ampersand"}},key:"0026"},{category:"Po",mappings:{"default":{"default":"apostrophe",alternative:"apostrophe quote"}},key:"0027"},{category:"Po",mappings:{"default":{"default":"asterisk"}},key:"002A"},{category:"Sm",mappings:{"default":{"default":"plus sign","short":"plus"}},key:"002B"},{category:"Po",mappings:{"default":{"default":"comma"}},key:"002C"},{category:"Pd",mappings:{"default":{"default":"hyphen minus","short":"minus"}},key:"002D"},{category:"Po",mappings:{"default":{"default":"full stop", +alternative:"period"}},key:"002E"},{category:"Po",mappings:{"default":{"default":"solidus",alternative:"slash"}},key:"002F"},{category:"Po",mappings:{"default":{"default":"colon"}},key:"003A"},{category:"Po",mappings:{"default":{"default":"semicolon"}},key:"003B"},{category:"Sm",mappings:{"default":{"default":"less than sign","short":"less than"}},key:"003C"},{category:"Sm",mappings:{"default":{"default":"equals sign","short":"equals"}},key:"003D"},{category:"Sm",mappings:{"default":{"default":"greater than sign", +"short":"greater than"}},key:"003E"},{category:"Po",mappings:{"default":{"default":"question mark"}},key:"003F"},{category:"Po",mappings:{"default":{"default":"commercial at","short":"at"}},key:"0040"},{category:"Po",mappings:{"default":{"default":"reverse solidus",alternative:"backslash"}},key:"005C"},{category:"Sk",mappings:{"default":{"default":"circumflex accent",alternative:"spacing circumflex","short":"hat"}},key:"005E"},{category:"Pc",mappings:{"default":{"default":"low line",alternative:"spacing underscore"}}, +key:"005F"},{category:"Sk",mappings:{"default":{"default":"grave accent",alternative:"spacing grave","short":"grave"}},key:"0060"},{category:"Sm",mappings:{"default":{"default":"vertical line",alternative:"vertical bar"}},key:"007C"},{category:"Sm",mappings:{"default":{"default":"tilde"}},key:"007E"},{category:"Po",mappings:{"default":{"default":"inverted exclamation mark"}},key:"00A1"},{category:"Sc",mappings:{"default":{"default":"cent sign","short":"cent"}},key:"00A2"},{category:"Sc",mappings:{"default":{"default":"pound sign", +"short":"pound"}},key:"00A3"},{category:"Sc",mappings:{"default":{"default":"currency sign","short":"currency"}},key:"00A4"},{category:"Sc",mappings:{"default":{"default":"yen sign","short":"yen"}},key:"00A5"},{category:"So",mappings:{"default":{"default":"broken bar",alternative:"broken vertical bar"}},key:"00A6"},{category:"Po",mappings:{"default":{"default":"section sign","short":"section"}},key:"00A7"},{category:"Sk",mappings:{"default":{"default":"diaeresis",alternative:"spacing diaeresis","short":"double dot"}}, +key:"00A8"},{category:"So",mappings:{"default":{"default":"copyright sign","short":"copyright"}},key:"00A9"},{category:"Lo",mappings:{"default":{"default":"feminine ordinal indicator"}},key:"00AA"},{category:"Pi",mappings:{"default":{"default":"left pointing double angle quotation mark",alternative:"left pointing guillemet"}},key:"00AB"},{category:"Sm",mappings:{"default":{"default":"not sign","short":"not"}},key:"00AC"},{category:"So",mappings:{"default":{"default":"registered sign",alternative:"registered trade mark sign", +"short":"registered"}},key:"00AE"},{category:"Sk",mappings:{"default":{"default":"macron",alternative:"spacing macron"}},key:"00AF"},{category:"So",mappings:{"default":{"default":"degree sign","short":"degree"}},key:"00B0"},{category:"Sm",mappings:{"default":{"default":"plus minus sign",alternative:"plus or minus sign","short":"plus minus"}},key:"00B1"},{category:"Sk",mappings:{"default":{"default":"acute accent",alternative:"spacing acute","short":"acute"}},key:"00B4"},{category:"Ll",mappings:{"default":{"default":"micro sign", +"short":"micro"}},key:"00B5"},{category:"Po",mappings:{"default":{"default":"pilcrow sign",alternative:"paragraph sign","short":"pilcrow"}},key:"00B6"},{category:"Po",mappings:{"default":{"default":"middle dot"}},key:"00B7"},{category:"Sk",mappings:{"default":{"default":"cedilla",alternative:"spacing cedilla"}},key:"00B8"},{category:"Lo",mappings:{"default":{"default":"masculine ordinal indicator"}},key:"00BA"},{category:"Pf",mappings:{"default":{"default":"right pointing double angle quotation mark", +alternative:"right pointing guillemet"}},key:"00BB"},{category:"Po",mappings:{"default":{"default":"inverted question mark"}},key:"00BF"},{category:"Sm",mappings:{"default":{"default":"multiplication sign","short":"multiplication"}},key:"00D7"},{category:"Sm",mappings:{"default":{"default":"division sign","short":"division"}},key:"00F7"},{category:"Sk",mappings:{"default":{"default":"breve",alternative:"spacing breve"}},key:"02D8"},{category:"Sk",mappings:{"default":{"default":"dot above",alternative:"spacing dot above"}}, +key:"02D9"},{category:"Sk",mappings:{"default":{"default":"ring above",alternative:"spacing ring above"}},key:"02DA"},{category:"Sk",mappings:{"default":{"default":"ogonek",alternative:"spacing ogonek"}},key:"02DB"},{category:"Sk",mappings:{"default":{"default":"small tilde",alternative:"spacing tilde"}},key:"02DC"},{category:"Sk",mappings:{"default":{"default":"double acute accent",alternative:"spacing double acute"}},key:"02DD"},{category:"Pd",mappings:{"default":{"default":"hyphen"}},key:"2010"}, +{category:"Pd",mappings:{"default":{"default":"non breaking hyphen"}},key:"2011"},{category:"Pd",mappings:{"default":{"default":"figure dash"}},key:"2012"},{category:"Pd",mappings:{"default":{"default":"en dash"}},key:"2013"},{category:"Pd",mappings:{"default":{"default":"em dash"}},key:"2014"},{category:"Pd",mappings:{"default":{"default":"horizontal bar",alternative:"quotation dash"}},key:"2015"},{category:"Po",mappings:{"default":{"default":"double vertical line",alternative:"double vertical bar"}}, +key:"2016"},{category:"Po",mappings:{"default":{"default":"double low line",alternative:"spacing double underscore"}},key:"2017"},{category:"Pi",mappings:{"default":{"default":"left single quotation mark",alternative:"single turned comma quotation mark"}},key:"2018"},{category:"Pf",mappings:{"default":{"default":"right single quotation mark",alternative:"single comma quotation mark"}},key:"2019"},{category:"Ps",mappings:{"default":{"default":"single low 9 quotation mark",alternative:"low single comma quotation mark"}}, +key:"201A"},{category:"Pi",mappings:{"default":{"default":"single high reversed 9 quotation mark",alternative:"single reversed comma quotation mark"}},key:"201B"},{category:"Pi",mappings:{"default":{"default":"left double quotation mark",alternative:"double turned comma quotation mark"}},key:"201C"},{category:"Pf",mappings:{"default":{"default":"right double quotation mark",alternative:"double comma quotation mark"}},key:"201D"},{category:"Ps",mappings:{"default":{"default":"double low 9 quotation mark", +alternative:"low double comma quotation mark"}},key:"201E"},{category:"Pi",mappings:{"default":{"default":"double high reversed 9 quotation mark",alternative:"double reversed comma quotation mark"}},key:"201F"},{category:"Po",mappings:{"default":{"default":"dagger"}},key:"2020"},{category:"Po",mappings:{"default":{"default":"double dagger"}},key:"2021"},{category:"Po",mappings:{"default":{"default":"bullet"}},key:"2022"},{category:"Po",mappings:{"default":{"default":"triangular bullet"}},key:"2023"}, +{category:"Po",mappings:{"default":{"default":"one dot leader"}},key:"2024"},{category:"Po",mappings:{"default":{"default":"two dot leader"}},key:"2025"},{category:"Po",mappings:{"default":{"default":"horizontal ellipsis"}},key:"2026"},{category:"Po",mappings:{"default":{"default":"hyphenation point"}},key:"2027"},{category:"Po",mappings:{"default":{"default":"per mille sign","short":"per mille"}},key:"2030"},{category:"Po",mappings:{"default":{"default":"per ten thousand sign","short":"per ten thousand"}}, +key:"2031"},{category:"Po",mappings:{"default":{"default":"prime"}},key:"2032"},{category:"Po",mappings:{"default":{"default":"double prime"}},key:"2033"},{category:"Po",mappings:{"default":{"default":"triple prime"}},key:"2034"},{category:"Po",mappings:{"default":{"default":"reversed prime"}},key:"2035"},{category:"Po",mappings:{"default":{"default":"reversed double prime"}},key:"2036"},{category:"Po",mappings:{"default":{"default":"reversed triple prime"}},key:"2037"},{category:"Po",mappings:{"default":{"default":"caret"}}, +key:"2038"},{category:"Pi",mappings:{"default":{"default":"single left pointing angle quotation mark",alternative:"left pointing single guillemet"}},key:"2039"},{category:"Pf",mappings:{"default":{"default":"single right pointing angle quotation mark",alternative:"right pointing single guillemet"}},key:"203A"},{category:"Po",mappings:{"default":{"default":"reference mark"}},key:"203B"},{category:"Po",mappings:{"default":{"default":"double exclamation mark"}},key:"203C"},{category:"Po",mappings:{"default":{"default":"interrobang"}}, +key:"203D"},{category:"Po",mappings:{"default":{"default":"overline",alternative:"spacing overscore"}},key:"203E"},{category:"Pc",mappings:{"default":{"default":"undertie"}},key:"203F"},{category:"Pc",mappings:{"default":{"default":"character tie"}},key:"2040"},{category:"Po",mappings:{"default":{"default":"caret insertion point"}},key:"2041"},{category:"Po",mappings:{"default":{"default":"asterism"}},key:"2042"},{category:"Po",mappings:{"default":{"default":"hyphen bullet"}},key:"2043"},{category:"Sm", +mappings:{"default":{"default":"fraction slash"}},key:"2044"},{category:"Po",mappings:{"default":{"default":"double question mark"}},key:"2047"},{category:"Po",mappings:{"default":{"default":"question exclamation mark"}},key:"2048"},{category:"Po",mappings:{"default":{"default":"exclamation question mark"}},key:"2049"},{category:"Po",mappings:{"default":{"default":"reversed pilcrow sign","short":"reversed pilcrow"}},key:"204B"},{category:"Po",mappings:{"default":{"default":"black leftwards bullet"}}, +key:"204C"},{category:"Po",mappings:{"default":{"default":"black rightwards bullet"}},key:"204D"},{category:"Po",mappings:{"default":{"default":"low asterisk"}},key:"204E"},{category:"Po",mappings:{"default":{"default":"reversed semicolon"}},key:"204F"},{category:"Po",mappings:{"default":{"default":"close up"}},key:"2050"},{category:"Po",mappings:{"default":{"default":"two asterisks aligned vertically"}},key:"2051"},{category:"Sm",mappings:{"default":{"default":"commercial minus sign","short":"commercial minus"}}, +key:"2052"},{category:"Po",mappings:{"default":{"default":"swung dash"}},key:"2053"},{category:"Pc",mappings:{"default":{"default":"inverted undertie"}},key:"2054"},{category:"Po",mappings:{"default":{"default":"flower punctuation mark"}},key:"2055"},{category:"Po",mappings:{"default":{"default":"three dot punctuation"}},key:"2056"},{category:"Po",mappings:{"default":{"default":"quadruple prime"}},key:"2057"},{category:"Po",mappings:{"default":{"default":"four dot punctuation"}},key:"2058"},{category:"Po", +mappings:{"default":{"default":"five dot punctuation"}},key:"2059"},{category:"Po",mappings:{"default":{"default":"two dot punctuation"}},key:"205A"},{category:"Po",mappings:{"default":{"default":"four dot mark"}},key:"205B"},{category:"Po",mappings:{"default":{"default":"dotted cross"}},key:"205C"},{category:"Po",mappings:{"default":{"default":"tricolon"}},key:"205D"},{category:"Po",mappings:{"default":{"default":"vertical four dots"}},key:"205E"},{category:"Sm",mappings:{"default":{"default":"superscript plus sign", +"short":"superscript plus"}},key:"207A"},{category:"Sm",mappings:{"default":{"default":"superscript minus",alternative:"superscript hyphen minus"}},key:"207B"},{category:"Sm",mappings:{"default":{"default":"superscript equals sign","short":"superscript equals"}},key:"207C"},{category:"Ps",mappings:{"default":{"default":"superscript left parenthesis",alternative:"superscript opening parenthesis"}},key:"207D"},{category:"Pe",mappings:{"default":{"default":"superscript right parenthesis",alternative:"superscript closing parenthesis"}}, +key:"207E"},{category:"Sm",mappings:{"default":{"default":"subscript plus sign","short":"subscript plus"}},key:"208A"},{category:"Sm",mappings:{"default":{"default":"subscript minus",alternative:"subscript hyphen minus"}},key:"208B"},{category:"Sm",mappings:{"default":{"default":"subscript equals sign","short":"subscript equals"}},key:"208C"},{category:"Ps",mappings:{"default":{"default":"subscript left parenthesis",alternative:"subscript opening parenthesis"}},key:"208D"},{category:"Pe",mappings:{"default":{"default":"subscript right parenthesis", +alternative:"subscript closing parenthesis"}},key:"208E"},{category:"So",mappings:{"default":{"default":"property line"}},key:"214A"},{category:"Sm",mappings:{"default":{"default":"turned ampersand"}},key:"214B"},{category:"So",mappings:{"default":{"default":"per sign","short":"per"}},key:"214C"},{category:"So",mappings:{"default":{"default":"aktieselskab"}},key:"214D"},{category:"Ll",mappings:{"default":{"default":"turned small f"}},key:"214E"},{category:"Sm",mappings:{"default":{"default":"for all"}}, +key:"2200"},{category:"Sm",mappings:{"default":{"default":"complement"}},key:"2201"},{category:"Sm",mappings:{"default":{"default":"partial differential"}},key:"2202"},{category:"Sm",mappings:{"default":{"default":"there exists"}},key:"2203"},{category:"Sm",mappings:{"default":{"default":"there does not exist"}},key:"2204"},{category:"Sm",mappings:{"default":{"default":"empty set"}},key:"2205"},{category:"Sm",mappings:{"default":{"default":"increment"}},key:"2206"},{category:"Sm",mappings:{"default":{"default":"nabla"}}, +key:"2207"},{category:"Sm",mappings:{"default":{"default":"element of"}},key:"2208"},{category:"Sm",mappings:{"default":{"default":"not an element of"}},key:"2209"},{category:"Sm",mappings:{"default":{"default":"small element of"}},key:"220A"},{category:"Sm",mappings:{"default":{"default":"contains as member"}},key:"220B"},{category:"Sm",mappings:{"default":{"default":"does not contain as member"}},key:"220C"},{category:"Sm",mappings:{"default":{"default":"small contains as member"}},key:"220D"}, +{category:"Sm",mappings:{"default":{"default":"end of proof"}},key:"220E"},{category:"Sm",mappings:{"default":{"default":"n ary product"}},key:"220F"},{category:"Sm",mappings:{"default":{"default":"n ary coproduct"}},key:"2210"},{category:"Sm",mappings:{"default":{"default":"n ary summation"}},key:"2211"},{category:"Sm",mappings:{"default":{"default":"minus sign","short":"minus"}},key:"2212"},{category:"Sm",mappings:{"default":{"default":"minus or plus sign","short":"minus or plus"}},key:"2213"}, +{category:"Sm",mappings:{"default":{"default":"dot plus"}},key:"2214"},{category:"Sm",mappings:{"default":{"default":"division slash"}},key:"2215"},{category:"Sm",mappings:{"default":{"default":"set minus"}},key:"2216"},{category:"Sm",mappings:{"default":{"default":"asterisk operator"}},key:"2217"},{category:"Sm",mappings:{"default":{"default":"ring operator"}},key:"2218"},{category:"Sm",mappings:{"default":{"default":"bullet operator"}},key:"2219"},{category:"Sm",mappings:{"default":{"default":"square root"}}, +key:"221A"},{category:"Sm",mappings:{"default":{"default":"cube root"}},key:"221B"},{category:"Sm",mappings:{"default":{"default":"fourth root"}},key:"221C"},{category:"Sm",mappings:{"default":{"default":"proportional to"}},key:"221D"},{category:"Sm",mappings:{"default":{"default":"infinity"}},key:"221E"},{category:"Sm",mappings:{"default":{"default":"right angle"}},key:"221F"},{category:"Sm",mappings:{"default":{"default":"angle"}},key:"2220"},{category:"Sm",mappings:{"default":{"default":"measured angle"}}, +key:"2221"},{category:"Sm",mappings:{"default":{"default":"spherical angle"}},key:"2222"},{category:"Sm",mappings:{"default":{"default":"divides","short":"bar"}},key:"2223"},{category:"Sm",mappings:{"default":{"default":"does not divide"}},key:"2224"},{category:"Sm",mappings:{"default":{"default":"parallel to"}},key:"2225"},{category:"Sm",mappings:{"default":{"default":"not parallel to"}},key:"2226"},{category:"Sm",mappings:{"default":{"default":"logical and"}},key:"2227"},{category:"Sm",mappings:{"default":{"default":"logical or"}}, +key:"2228"},{category:"Sm",mappings:{"default":{"default":"intersection"}},key:"2229"},{category:"Sm",mappings:{"default":{"default":"union"}},key:"222A"},{category:"Sm",mappings:{"default":{"default":"integral"}},key:"222B"},{category:"Sm",mappings:{"default":{"default":"double integral"}},key:"222C"},{category:"Sm",mappings:{"default":{"default":"triple integral"}},key:"222D"},{category:"Sm",mappings:{"default":{"default":"contour integral"}},key:"222E"},{category:"Sm",mappings:{"default":{"default":"surface integral"}}, +key:"222F"},{category:"Sm",mappings:{"default":{"default":"volume integral"}},key:"2230"},{category:"Sm",mappings:{"default":{"default":"clockwise integral"}},key:"2231"},{category:"Sm",mappings:{"default":{"default":"clockwise contour integral"}},key:"2232"},{category:"Sm",mappings:{"default":{"default":"anticlockwise contour integral"}},key:"2233"},{category:"Sm",mappings:{"default":{"default":"therefore"}},key:"2234"},{category:"Sm",mappings:{"default":{"default":"because"}},key:"2235"},{category:"Sm", +mappings:{"default":{"default":"ratio"}},key:"2236"},{category:"Sm",mappings:{"default":{"default":"proportion"}},key:"2237"},{category:"Sm",mappings:{"default":{"default":"dot minus"}},key:"2238"},{category:"Sm",mappings:{"default":{"default":"excess"}},key:"2239"},{category:"Sm",mappings:{"default":{"default":"geometric proportion"}},key:"223A"},{category:"Sm",mappings:{"default":{"default":"homothetic"}},key:"223B"},{category:"Sm",mappings:{"default":{"default":"tilde operator"}},key:"223C"},{category:"Sm", +mappings:{"default":{"default":"reversed tilde"}},key:"223D"},{category:"Sm",mappings:{"default":{"default":"inverted lazy s"}},key:"223E"},{category:"Sm",mappings:{"default":{"default":"sine wave"}},key:"223F"},{category:"Sm",mappings:{"default":{"default":"wreath product"}},key:"2240"},{category:"Sm",mappings:{"default":{"default":"not tilde"}},key:"2241"},{category:"Sm",mappings:{"default":{"default":"minus tilde"}},key:"2242"},{category:"Sm",mappings:{"default":{"default":"asymptotically equal to"}}, +key:"2243"},{category:"Sm",mappings:{"default":{"default":"not asymptotically equal to"}},key:"2244"},{category:"Sm",mappings:{"default":{"default":"approximately equal to"}},key:"2245"},{category:"Sm",mappings:{"default":{"default":"approximately but not actually equal to"}},key:"2246"},{category:"Sm",mappings:{"default":{"default":"neither approximately nor actually equal to"}},key:"2247"},{category:"Sm",mappings:{"default":{"default":"almost equal to"}},key:"2248"},{category:"Sm",mappings:{"default":{"default":"not almost equal to"}}, +key:"2249"},{category:"Sm",mappings:{"default":{"default":"almost equal or equal to"}},key:"224A"},{category:"Sm",mappings:{"default":{"default":"triple tilde"}},key:"224B"},{category:"Sm",mappings:{"default":{"default":"all equal to"}},key:"224C"},{category:"Sm",mappings:{"default":{"default":"equivalent to"}},key:"224D"},{category:"Sm",mappings:{"default":{"default":"geometrically equivalent to"}},key:"224E"},{category:"Sm",mappings:{"default":{"default":"difference between"}},key:"224F"},{category:"Sm", +mappings:{"default":{"default":"approaches the limit"}},key:"2250"},{category:"Sm",mappings:{"default":{"default":"geometrically equal to"}},key:"2251"},{category:"Sm",mappings:{"default":{"default":"approximately equal to or the image of"}},key:"2252"},{category:"Sm",mappings:{"default":{"default":"image of or approximately equal to"}},key:"2253"},{category:"Sm",mappings:{"default":{"default":"colon equals",alternative:"colon equal"}},key:"2254"},{category:"Sm",mappings:{"default":{"default":"equals colon", +alternative:"equal colon"}},key:"2255"},{category:"Sm",mappings:{"default":{"default":"ring in equal to"}},key:"2256"},{category:"Sm",mappings:{"default":{"default":"ring equal to"}},key:"2257"},{category:"Sm",mappings:{"default":{"default":"corresponds to"}},key:"2258"},{category:"Sm",mappings:{"default":{"default":"estimates"}},key:"2259"},{category:"Sm",mappings:{"default":{"default":"equiangular to"}},key:"225A"},{category:"Sm",mappings:{"default":{"default":"star equals"}},key:"225B"},{category:"Sm", +mappings:{"default":{"default":"delta equal to"}},key:"225C"},{category:"Sm",mappings:{"default":{"default":"equal to by definition"}},key:"225D"},{category:"Sm",mappings:{"default":{"default":"measured by"}},key:"225E"},{category:"Sm",mappings:{"default":{"default":"questioned equal to"}},key:"225F"},{category:"Sm",mappings:{"default":{"default":"not equal to"}},key:"2260"},{category:"Sm",mappings:{"default":{"default":"identical to"}},key:"2261"},{category:"Sm",mappings:{"default":{"default":"not identical to"}}, +key:"2262"},{category:"Sm",mappings:{"default":{"default":"strictly equivalent to"}},key:"2263"},{category:"Sm",mappings:{"default":{"default":"less than or equal to",alternative:"less than or equal to"}},key:"2264"},{category:"Sm",mappings:{"default":{"default":"greater than or equal to",alternative:"greater than or equal to"}},key:"2265"},{category:"Sm",mappings:{"default":{"default":"less than over equal to",alternative:"less than over equal to"}},key:"2266"},{category:"Sm",mappings:{"default":{"default":"greater than over equal to", +alternative:"greater than over equal to"}},key:"2267"},{category:"Sm",mappings:{"default":{"default":"less than but not equal to",alternative:"less than but not equal to"}},key:"2268"},{category:"Sm",mappings:{"default":{"default":"greater than but not equal to",alternative:"greater than but not equal to"}},key:"2269"},{category:"Sm",mappings:{"default":{"default":"much less than",alternative:"much less than"}},key:"226A"},{category:"Sm",mappings:{"default":{"default":"much greater than",alternative:"much greater than"}}, +key:"226B"},{category:"Sm",mappings:{"default":{"default":"between"}},key:"226C"},{category:"Sm",mappings:{"default":{"default":"not equivalent to"}},key:"226D"},{category:"Sm",mappings:{"default":{"default":"not less than",alternative:"not less than"}},key:"226E"},{category:"Sm",mappings:{"default":{"default":"not greater than",alternative:"not greater than"}},key:"226F"},{category:"Sm",mappings:{"default":{"default":"neither less than nor equal to",alternative:"neither less than nor equal to"}}, +key:"2270"},{category:"Sm",mappings:{"default":{"default":"neither greater than nor equal to",alternative:"neither greater than nor equal to"}},key:"2271"},{category:"Sm",mappings:{"default":{"default":"less than or equivalent to",alternative:"less than or equivalent to"}},key:"2272"},{category:"Sm",mappings:{"default":{"default":"greater than or equivalent to",alternative:"greater than or equivalent to"}},key:"2273"},{category:"Sm",mappings:{"default":{"default":"neither less than nor equivalent to", +alternative:"neither less than nor equivalent to"}},key:"2274"},{category:"Sm",mappings:{"default":{"default":"neither greater than nor equivalent to",alternative:"neither greater than nor equivalent to"}},key:"2275"},{category:"Sm",mappings:{"default":{"default":"less than or greater than",alternative:"less than or greater than"}},key:"2276"},{category:"Sm",mappings:{"default":{"default":"greater than or less than",alternative:"greater than or less than"}},key:"2277"},{category:"Sm",mappings:{"default":{"default":"neither less than nor greater than", +alternative:"neither less than nor greater than"}},key:"2278"},{category:"Sm",mappings:{"default":{"default":"neither greater than nor less than",alternative:"neither greater than nor less than"}},key:"2279"},{category:"Sm",mappings:{"default":{"default":"precedes"}},key:"227A"},{category:"Sm",mappings:{"default":{"default":"succeeds"}},key:"227B"},{category:"Sm",mappings:{"default":{"default":"precedes or equal to"}},key:"227C"},{category:"Sm",mappings:{"default":{"default":"succeeds or equal to"}}, +key:"227D"},{category:"Sm",mappings:{"default":{"default":"precedes or equivalent to"}},key:"227E"},{category:"Sm",mappings:{"default":{"default":"succeeds or equivalent to"}},key:"227F"},{category:"Sm",mappings:{"default":{"default":"does not precede"}},key:"2280"},{category:"Sm",mappings:{"default":{"default":"does not succeed"}},key:"2281"},{category:"Sm",mappings:{"default":{"default":"subset of"}},key:"2282"},{category:"Sm",mappings:{"default":{"default":"superset of"}},key:"2283"},{category:"Sm", +mappings:{"default":{"default":"not a subset of"}},key:"2284"},{category:"Sm",mappings:{"default":{"default":"not a superset of"}},key:"2285"},{category:"Sm",mappings:{"default":{"default":"subset of or equal to"}},key:"2286"},{category:"Sm",mappings:{"default":{"default":"superset of or equal to"}},key:"2287"},{category:"Sm",mappings:{"default":{"default":"neither a subset of nor equal to"}},key:"2288"},{category:"Sm",mappings:{"default":{"default":"neither a superset of nor equal to"}},key:"2289"}, +{category:"Sm",mappings:{"default":{"default":"subset of with not equal to",alternative:"subset of or not equal to","short":"subset of or not equal to"}},key:"228A"},{category:"Sm",mappings:{"default":{"default":"superset of with not equal to",alternative:"superset of or not equal to","short":"superset of or not equal to"}},key:"228B"},{category:"Sm",mappings:{"default":{"default":"multiset"}},key:"228C"},{category:"Sm",mappings:{"default":{"default":"multiset multiplication"}},key:"228D"},{category:"Sm", +mappings:{"default":{"default":"multiset union"}},key:"228E"},{category:"Sm",mappings:{"default":{"default":"square image of"}},key:"228F"},{category:"Sm",mappings:{"default":{"default":"square original of"}},key:"2290"},{category:"Sm",mappings:{"default":{"default":"square image of or equal to"}},key:"2291"},{category:"Sm",mappings:{"default":{"default":"square original of or equal to"}},key:"2292"},{category:"Sm",mappings:{"default":{"default":"square cap"}},key:"2293"},{category:"Sm",mappings:{"default":{"default":"square cup"}}, +key:"2294"},{category:"Sm",mappings:{"default":{"default":"circled plus"}},key:"2295"},{category:"Sm",mappings:{"default":{"default":"circled minus"}},key:"2296"},{category:"Sm",mappings:{"default":{"default":"circled times"}},key:"2297"},{category:"Sm",mappings:{"default":{"default":"circled division slash"}},key:"2298"},{category:"Sm",mappings:{"default":{"default":"circled dot operator"}},key:"2299"},{category:"Sm",mappings:{"default":{"default":"circled ring operator"}},key:"229A"},{category:"Sm", +mappings:{"default":{"default":"circled asterisk operator"}},key:"229B"},{category:"Sm",mappings:{"default":{"default":"circled equals"}},key:"229C"},{category:"Sm",mappings:{"default":{"default":"circled dash"}},key:"229D"},{category:"Sm",mappings:{"default":{"default":"squared plus"}},key:"229E"},{category:"Sm",mappings:{"default":{"default":"squared minus"}},key:"229F"},{category:"Sm",mappings:{"default":{"default":"squared times"}},key:"22A0"},{category:"Sm",mappings:{"default":{"default":"squared dot operator"}}, +key:"22A1"},{category:"Sm",mappings:{"default":{"default":"right tack"}},key:"22A2"},{category:"Sm",mappings:{"default":{"default":"left tack"}},key:"22A3"},{category:"Sm",mappings:{"default":{"default":"down tack"}},key:"22A4"},{category:"Sm",mappings:{"default":{"default":"up tack"}},key:"22A5"},{category:"Sm",mappings:{"default":{"default":"assertion"}},key:"22A6"},{category:"Sm",mappings:{"default":{"default":"models"}},key:"22A7"},{category:"Sm",mappings:{"default":{"default":"true"}},key:"22A8"}, +{category:"Sm",mappings:{"default":{"default":"forces"}},key:"22A9"},{category:"Sm",mappings:{"default":{"default":"triple vertical bar right turnstile"}},key:"22AA"},{category:"Sm",mappings:{"default":{"default":"double vertical bar double right turnstile"}},key:"22AB"},{category:"Sm",mappings:{"default":{"default":"does not prove"}},key:"22AC"},{category:"Sm",mappings:{"default":{"default":"not true"}},key:"22AD"},{category:"Sm",mappings:{"default":{"default":"does not force"}},key:"22AE"},{category:"Sm", +mappings:{"default":{"default":"negated double vertical bar double right turnstile"}},key:"22AF"},{category:"Sm",mappings:{"default":{"default":"precedes under relation"}},key:"22B0"},{category:"Sm",mappings:{"default":{"default":"succeeds under relation"}},key:"22B1"},{category:"Sm",mappings:{"default":{"default":"normal subgroup of"}},key:"22B2"},{category:"Sm",mappings:{"default":{"default":"contains as normal subgroup"}},key:"22B3"},{category:"Sm",mappings:{"default":{"default":"normal subgroup of or equal to"}}, +key:"22B4"},{category:"Sm",mappings:{"default":{"default":"contains as normal subgroup or equal to"}},key:"22B5"},{category:"Sm",mappings:{"default":{"default":"original of"}},key:"22B6"},{category:"Sm",mappings:{"default":{"default":"image of"}},key:"22B7"},{category:"Sm",mappings:{"default":{"default":"multimap"}},key:"22B8"},{category:"Sm",mappings:{"default":{"default":"hermitian conjugate matrix"}},key:"22B9"},{category:"Sm",mappings:{"default":{"default":"intercalate"}},key:"22BA"},{category:"Sm", +mappings:{"default":{"default":"xor"}},key:"22BB"},{category:"Sm",mappings:{"default":{"default":"nand"}},key:"22BC"},{category:"Sm",mappings:{"default":{"default":"nor"}},key:"22BD"},{category:"Sm",mappings:{"default":{"default":"right triangle"}},key:"22BF"},{category:"Sm",mappings:{"default":{"default":"n ary logical and"}},key:"22C0"},{category:"Sm",mappings:{"default":{"default":"n ary logical or"}},key:"22C1"},{category:"Sm",mappings:{"default":{"default":"n ary intersection"}},key:"22C2"}, +{category:"Sm",mappings:{"default":{"default":"n ary union"}},key:"22C3"},{category:"Sm",mappings:{"default":{"default":"diamond operator"}},key:"22C4"},{category:"Sm",mappings:{"default":{"default":"dot operator"}},key:"22C5"},{category:"Sm",mappings:{"default":{"default":"star operator"}},key:"22C6"},{category:"Sm",mappings:{"default":{"default":"division times"}},key:"22C7"},{category:"Sm",mappings:{"default":{"default":"bowtie"}},key:"22C8"},{category:"Sm",mappings:{"default":{"default":"left normal factor semidirect product"}}, +key:"22C9"},{category:"Sm",mappings:{"default":{"default":"right normal factor semidirect product"}},key:"22CA"},{category:"Sm",mappings:{"default":{"default":"left semidirect product"}},key:"22CB"},{category:"Sm",mappings:{"default":{"default":"right semidirect product"}},key:"22CC"},{category:"Sm",mappings:{"default":{"default":"reversed tilde equals"}},key:"22CD"},{category:"Sm",mappings:{"default":{"default":"curly logical or"}},key:"22CE"},{category:"Sm",mappings:{"default":{"default":"curly logical and"}}, +key:"22CF"},{category:"Sm",mappings:{"default":{"default":"double subset"}},key:"22D0"},{category:"Sm",mappings:{"default":{"default":"double superset"}},key:"22D1"},{category:"Sm",mappings:{"default":{"default":"double intersection"}},key:"22D2"},{category:"Sm",mappings:{"default":{"default":"double union"}},key:"22D3"},{category:"Sm",mappings:{"default":{"default":"pitchfork"}},key:"22D4"},{category:"Sm",mappings:{"default":{"default":"equal and parallel to"}},key:"22D5"},{category:"Sm",mappings:{"default":{"default":"less than with dot", +alternative:"less than with dot","short":"less than dot"}},key:"22D6"},{category:"Sm",mappings:{"default":{"default":"greater than with dot",alternative:"greater than with dot","short":"greater than dot"}},key:"22D7"},{category:"Sm",mappings:{"default":{"default":"very much less than",alternative:"very much less than"}},key:"22D8"},{category:"Sm",mappings:{"default":{"default":"very much greater than",alternative:"very much greater than"}},key:"22D9"},{category:"Sm",mappings:{"default":{"default":"less than equal to or greater than", +alternative:"less than equal to or greater than"}},key:"22DA"},{category:"Sm",mappings:{"default":{"default":"greater than equal to or less than",alternative:"greater than equal to or less than"}},key:"22DB"},{category:"Sm",mappings:{"default":{"default":"equal to or less than",alternative:"equal to or less than"}},key:"22DC"},{category:"Sm",mappings:{"default":{"default":"equal to or greater than",alternative:"equal to or greater than"}},key:"22DD"},{category:"Sm",mappings:{"default":{"default":"equal to or precedes"}}, +key:"22DE"},{category:"Sm",mappings:{"default":{"default":"equal to or succeeds"}},key:"22DF"},{category:"Sm",mappings:{"default":{"default":"does not precede or equal"}},key:"22E0"},{category:"Sm",mappings:{"default":{"default":"does not succeed or equal"}},key:"22E1"},{category:"Sm",mappings:{"default":{"default":"not square image of or equal to"}},key:"22E2"},{category:"Sm",mappings:{"default":{"default":"not square original of or equal to"}},key:"22E3"},{category:"Sm",mappings:{"default":{"default":"square image of or not equal to"}}, +key:"22E4"},{category:"Sm",mappings:{"default":{"default":"square original of or not equal to"}},key:"22E5"},{category:"Sm",mappings:{"default":{"default":"less than but not equivalent to",alternative:"less than but not equivalent to"}},key:"22E6"},{category:"Sm",mappings:{"default":{"default":"greater than but not equivalent to",alternative:"greater than but not equivalent to"}},key:"22E7"},{category:"Sm",mappings:{"default":{"default":"precedes but not equivalent to"}},key:"22E8"},{category:"Sm", +mappings:{"default":{"default":"succeeds but not equivalent to"}},key:"22E9"},{category:"Sm",mappings:{"default":{"default":"not normal subgroup of"}},key:"22EA"},{category:"Sm",mappings:{"default":{"default":"does not contain as normal subgroup"}},key:"22EB"},{category:"Sm",mappings:{"default":{"default":"not normal subgroup of or equal to"}},key:"22EC"},{category:"Sm",mappings:{"default":{"default":"does not contain as normal subgroup or equal"}},key:"22ED"},{category:"Sm",mappings:{"default":{"default":"vertical ellipsis", +"short":"dot dot dot"}},key:"22EE"},{category:"Sm",mappings:{"default":{"default":"midline horizontal ellipsis","short":"dot dot dot"}},key:"22EF"},{category:"Sm",mappings:{"default":{"default":"up right diagonal ellipsis","short":"diagonal dot dot dot"}},key:"22F0"},{category:"Sm",mappings:{"default":{"default":"down right diagonal ellipsis","short":"diagonal dot dot dot"}},key:"22F1"},{category:"Sm",mappings:{"default":{"default":"element of with long horizontal stroke"}},key:"22F2"},{category:"Sm", +mappings:{"default":{"default":"element of with vertical bar at end of horizontal stroke"}},key:"22F3"},{category:"Sm",mappings:{"default":{"default":"small element of with vertical bar at end of horizontal stroke"}},key:"22F4"},{category:"Sm",mappings:{"default":{"default":"element of with dot above"}},key:"22F5"},{category:"Sm",mappings:{"default":{"default":"element of with overbar"}},key:"22F6"},{category:"Sm",mappings:{"default":{"default":"small element of with overbar"}},key:"22F7"},{category:"Sm", +mappings:{"default":{"default":"element of with underbar"}},key:"22F8"},{category:"Sm",mappings:{"default":{"default":"element of with two horizontal strokes"}},key:"22F9"},{category:"Sm",mappings:{"default":{"default":"contains with long horizontal stroke"}},key:"22FA"},{category:"Sm",mappings:{"default":{"default":"contains with vertical bar at end of horizontal stroke"}},key:"22FB"},{category:"Sm",mappings:{"default":{"default":"small contains with vertical bar at end of horizontal stroke"}},key:"22FC"}, +{category:"Sm",mappings:{"default":{"default":"contains with overbar"}},key:"22FD"},{category:"Sm",mappings:{"default":{"default":"small contains with overbar"}},key:"22FE"},{category:"Sm",mappings:{"default":{"default":"z notation bag membership"}},key:"22FF"},{category:"So",mappings:{"default":{"default":"diameter sign","short":"diameter"}},key:"2300"},{category:"So",mappings:{"default":{"default":"house"}},key:"2302"},{category:"So",mappings:{"default":{"default":"projective"}},key:"2305"},{category:"So", +mappings:{"default":{"default":"perspective"}},key:"2306"},{category:"So",mappings:{"default":{"default":"wavy line"}},key:"2307"},{category:"So",mappings:{"default":{"default":"reversed not sign","short":"reversed not"}},key:"2310"},{category:"So",mappings:{"default":{"default":"square lozenge"}},key:"2311"},{category:"So",mappings:{"default":{"default":"arc"}},key:"2312"},{category:"So",mappings:{"default":{"default":"segment"}},key:"2313"},{category:"So",mappings:{"default":{"default":"sector"}}, +key:"2314"},{category:"So",mappings:{"default":{"default":"heavy plus sign",alternative:"heavy plus","short":"bold plus"}},key:"2795"},{category:"So",mappings:{"default":{"default":"heavy minus sign",alternative:"heavy minus","short":"bold minus"}},key:"2796"},{category:"So",mappings:{"default":{"default":"heavy division sign",alternative:"heavy division","short":"bold division"}},key:"2797"},{category:"So",mappings:{"default":{"default":"curly loop"}},key:"27B0"},{category:"So",mappings:{"default":{"default":"double curly loop"}}, +key:"27BF"},{category:"Sm",mappings:{"default":{"default":"white triangle containing small white triangle"}},key:"27C1"},{category:"Sm",mappings:{"default":{"default":"perpendicular"}},key:"27C2"},{category:"Sm",mappings:{"default":{"default":"open subset"}},key:"27C3"},{category:"Sm",mappings:{"default":{"default":"open superset"}},key:"27C4"},{category:"Sm",mappings:{"default":{"default":"or with dot inside"}},key:"27C7"},{category:"Sm",mappings:{"default":{"default":"reverse solidus preceding subset"}}, +key:"27C8"},{category:"Sm",mappings:{"default":{"default":"superset preceding solidus"}},key:"27C9"},{category:"Sm",mappings:{"default":{"default":"vertical bar with horizontal stroke"}},key:"27CA"},{category:"Sm",mappings:{"default":{"default":"mathematical rising diagonal"}},key:"27CB"},{category:"Sm",mappings:{"default":{"default":"long division"}},key:"27CC"},{category:"Sm",mappings:{"default":{"default":"mathematical falling diagonal"}},key:"27CD"},{category:"Sm",mappings:{"default":{"default":"squared logical and"}}, +key:"27CE"},{category:"Sm",mappings:{"default":{"default":"squared logical or"}},key:"27CF"},{category:"Sm",mappings:{"default":{"default":"white diamond with centered dot"}},key:"27D0"},{category:"Sm",mappings:{"default":{"default":"and with dot"}},key:"27D1"},{category:"Sm",mappings:{"default":{"default":"element of opening upwards"}},key:"27D2"},{category:"Sm",mappings:{"default":{"default":"lower right corner with dot"}},key:"27D3"},{category:"Sm",mappings:{"default":{"default":"upper left corner with dot"}}, +key:"27D4"},{category:"Sm",mappings:{"default":{"default":"left outer join"}},key:"27D5"},{category:"Sm",mappings:{"default":{"default":"right outer join"}},key:"27D6"},{category:"Sm",mappings:{"default":{"default":"full outer join"}},key:"27D7"},{category:"Sm",mappings:{"default":{"default":"large up tack"}},key:"27D8"},{category:"Sm",mappings:{"default":{"default":"large down tack"}},key:"27D9"},{category:"Sm",mappings:{"default":{"default":"left and right double turnstile"}},key:"27DA"},{category:"Sm", +mappings:{"default":{"default":"left and right tack"}},key:"27DB"},{category:"Sm",mappings:{"default":{"default":"left multimap"}},key:"27DC"},{category:"Sm",mappings:{"default":{"default":"long right tack"}},key:"27DD"},{category:"Sm",mappings:{"default":{"default":"long left tack"}},key:"27DE"},{category:"Sm",mappings:{"default":{"default":"up tack with circle above"}},key:"27DF"},{category:"Sm",mappings:{"default":{"default":"lozenge divided by horizontal rule"}},key:"27E0"},{category:"Sm",mappings:{"default":{"default":"white concave sided diamond"}}, +key:"27E1"},{category:"Sm",mappings:{"default":{"default":"white concave sided diamond with leftwards tick"}},key:"27E2"},{category:"Sm",mappings:{"default":{"default":"white concave sided diamond with rightwards tick"}},key:"27E3"},{category:"Sm",mappings:{"default":{"default":"white square with leftwards tick"}},key:"27E4"},{category:"Sm",mappings:{"default":{"default":"white square with rightwards tick"}},key:"27E5"},{category:"Sm",mappings:{"default":{"default":"rising diagonal crossing falling diagonal"}}, +key:"292B"},{category:"Sm",mappings:{"default":{"default":"falling diagonal crossing rising diagonal"}},key:"292C"},{category:"Sm",mappings:{"default":{"default":"triple vertical bar delimiter"}},key:"2980"},{category:"Sm",mappings:{"default":{"default":"z notation spot"}},key:"2981"},{category:"Sm",mappings:{"default":{"default":"z notation type colon"}},key:"2982"},{category:"Sm",mappings:{"default":{"default":"dotted fence"}},key:"2999"},{category:"Sm",mappings:{"default":{"default":"vertical zigzag line"}}, +key:"299A"},{category:"Sm",mappings:{"default":{"default":"reversed empty set"}},key:"29B0"},{category:"Sm",mappings:{"default":{"default":"empty set with overbar"}},key:"29B1"},{category:"Sm",mappings:{"default":{"default":"empty set with small circle above"}},key:"29B2"},{category:"Sm",mappings:{"default":{"default":"circle with horizontal bar"}},key:"29B5"},{category:"Sm",mappings:{"default":{"default":"circled vertical bar"}},key:"29B6"},{category:"Sm",mappings:{"default":{"default":"circled parallel"}}, +key:"29B7"},{category:"Sm",mappings:{"default":{"default":"circled reverse solidus"}},key:"29B8"},{category:"Sm",mappings:{"default":{"default":"circled perpendicular"}},key:"29B9"},{category:"Sm",mappings:{"default":{"default":"circle divided by horizontal bar and top half divided by vertical bar"}},key:"29BA"},{category:"Sm",mappings:{"default":{"default":"circle with superimposed x"}},key:"29BB"},{category:"Sm",mappings:{"default":{"default":"circled anticlockwise rotated division sign","short":"circled anticlockwise rotated division"}}, +key:"29BC"},{category:"Sm",mappings:{"default":{"default":"circled white bullet"}},key:"29BE"},{category:"Sm",mappings:{"default":{"default":"circled bullet"}},key:"29BF"},{category:"Sm",mappings:{"default":{"default":"circled less than"}},key:"29C0"},{category:"Sm",mappings:{"default":{"default":"circled greater than"}},key:"29C1"},{category:"Sm",mappings:{"default":{"default":"circle with small circle to the right"}},key:"29C2"},{category:"Sm",mappings:{"default":{"default":"circle with two horizontal strokes to the right"}}, +key:"29C3"},{category:"Sm",mappings:{"default":{"default":"squared rising diagonal slash"}},key:"29C4"},{category:"Sm",mappings:{"default":{"default":"squared falling diagonal slash"}},key:"29C5"},{category:"Sm",mappings:{"default":{"default":"squared asterisk"}},key:"29C6"},{category:"Sm",mappings:{"default":{"default":"squared small circle"}},key:"29C7"},{category:"Sm",mappings:{"default":{"default":"squared square"}},key:"29C8"},{category:"Sm",mappings:{"default":{"default":"two joined squares"}}, +key:"29C9"},{category:"Sm",mappings:{"default":{"default":"triangle with dot above"}},key:"29CA"},{category:"Sm",mappings:{"default":{"default":"triangle with underbar"}},key:"29CB"},{category:"Sm",mappings:{"default":{"default":"s in triangle"}},key:"29CC"},{category:"Sm",mappings:{"default":{"default":"triangle with serifs at bottom"}},key:"29CD"},{category:"Sm",mappings:{"default":{"default":"right triangle above left triangle"}},key:"29CE"},{category:"Sm",mappings:{"default":{"default":"left triangle beside vertical bar"}}, +key:"29CF"},{category:"Sm",mappings:{"default":{"default":"vertical bar beside right triangle"}},key:"29D0"},{category:"Sm",mappings:{"default":{"default":"bowtie with left half black"}},key:"29D1"},{category:"Sm",mappings:{"default":{"default":"bowtie with right half black"}},key:"29D2"},{category:"Sm",mappings:{"default":{"default":"black bowtie"}},key:"29D3"},{category:"Sm",mappings:{"default":{"default":"times with left half black"}},key:"29D4"},{category:"Sm",mappings:{"default":{"default":"times with right half black"}}, +key:"29D5"},{category:"Sm",mappings:{"default":{"default":"white hourglass"}},key:"29D6"},{category:"Sm",mappings:{"default":{"default":"black hourglass"}},key:"29D7"},{category:"Sm",mappings:{"default":{"default":"incomplete infinity"}},key:"29DC"},{category:"Sm",mappings:{"default":{"default":"tie over infinity"}},key:"29DD"},{category:"Sm",mappings:{"default":{"default":"infinity negated with vertical bar"}},key:"29DE"},{category:"Sm",mappings:{"default":{"default":"double ended multimap"}},key:"29DF"}, +{category:"Sm",mappings:{"default":{"default":"square with contoured outline"}},key:"29E0"},{category:"Sm",mappings:{"default":{"default":"increases as"}},key:"29E1"},{category:"Sm",mappings:{"default":{"default":"shuffle product"}},key:"29E2"},{category:"Sm",mappings:{"default":{"default":"equals sign and slanted parallel"}},key:"29E3"},{category:"Sm",mappings:{"default":{"default":"equals sign and slanted parallel with tilde above"}},key:"29E4"},{category:"Sm",mappings:{"default":{"default":"identical to and slanted parallel"}}, +key:"29E5"},{category:"Sm",mappings:{"default":{"default":"gleich stark"}},key:"29E6"},{category:"Sm",mappings:{"default":{"default":"thermodynamic"}},key:"29E7"},{category:"Sm",mappings:{"default":{"default":"down pointing triangle with left half black"}},key:"29E8"},{category:"Sm",mappings:{"default":{"default":"down pointing triangle with right half black"}},key:"29E9"},{category:"Sm",mappings:{"default":{"default":"black lozenge"}},key:"29EB"},{category:"Sm",mappings:{"default":{"default":"error barred white square"}}, +key:"29EE"},{category:"Sm",mappings:{"default":{"default":"error barred black square"}},key:"29EF"},{category:"Sm",mappings:{"default":{"default":"error barred white diamond"}},key:"29F0"},{category:"Sm",mappings:{"default":{"default":"error barred black diamond"}},key:"29F1"},{category:"Sm",mappings:{"default":{"default":"error barred white circle"}},key:"29F2"},{category:"Sm",mappings:{"default":{"default":"error barred black circle"}},key:"29F3"},{category:"Sm",mappings:{"default":{"default":"rule delayed"}}, +key:"29F4"},{category:"Sm",mappings:{"default":{"default":"reverse solidus operator"}},key:"29F5"},{category:"Sm",mappings:{"default":{"default":"solidus with overbar"}},key:"29F6"},{category:"Sm",mappings:{"default":{"default":"reverse solidus with horizontal stroke"}},key:"29F7"},{category:"Sm",mappings:{"default":{"default":"big solidus"}},key:"29F8"},{category:"Sm",mappings:{"default":{"default":"big reverse solidus"}},key:"29F9"},{category:"Sm",mappings:{"default":{"default":"double plus"}}, +key:"29FA"},{category:"Sm",mappings:{"default":{"default":"triple plus"}},key:"29FB"},{category:"Sm",mappings:{"default":{"default":"tiny"}},key:"29FE"},{category:"Sm",mappings:{"default":{"default":"miny"}},key:"29FF"},{category:"Sm",mappings:{"default":{"default":"n ary circled dot operator"}},key:"2A00"},{category:"Sm",mappings:{"default":{"default":"n ary circled plus operator"}},key:"2A01"},{category:"Sm",mappings:{"default":{"default":"n ary circled times operator"}},key:"2A02"},{category:"Sm", +mappings:{"default":{"default":"n ary union operator with dot"}},key:"2A03"},{category:"Sm",mappings:{"default":{"default":"n ary union operator with plus"}},key:"2A04"},{category:"Sm",mappings:{"default":{"default":"n ary square intersection operator"}},key:"2A05"},{category:"Sm",mappings:{"default":{"default":"n ary square union operator"}},key:"2A06"},{category:"Sm",mappings:{"default":{"default":"two logical and operator"}},key:"2A07"},{category:"Sm",mappings:{"default":{"default":"two logical or operator"}}, +key:"2A08"},{category:"Sm",mappings:{"default":{"default":"n ary times operator"}},key:"2A09"},{category:"Sm",mappings:{"default":{"default":"modulo two sum"}},key:"2A0A"},{category:"Sm",mappings:{"default":{"default":"summation with integral"}},key:"2A0B"},{category:"Sm",mappings:{"default":{"default":"quadruple integral operator"}},key:"2A0C"},{category:"Sm",mappings:{"default":{"default":"finite part integral"}},key:"2A0D"},{category:"Sm",mappings:{"default":{"default":"integral with double stroke"}}, +key:"2A0E"},{category:"Sm",mappings:{"default":{"default":"integral average with slash"}},key:"2A0F"},{category:"Sm",mappings:{"default":{"default":"circulation function"}},key:"2A10"},{category:"Sm",mappings:{"default":{"default":"anticlockwise integration"}},key:"2A11"},{category:"Sm",mappings:{"default":{"default":"line integration with rectangular path around pole"}},key:"2A12"},{category:"Sm",mappings:{"default":{"default":"line integration with semicircular path around pole"}},key:"2A13"},{category:"Sm", +mappings:{"default":{"default":"line integration not including the pole"}},key:"2A14"},{category:"Sm",mappings:{"default":{"default":"integral around a point operator"}},key:"2A15"},{category:"Sm",mappings:{"default":{"default":"quaternion integral operator"}},key:"2A16"},{category:"Sm",mappings:{"default":{"default":"integral with times sign","short":"integral with times"}},key:"2A18"},{category:"Sm",mappings:{"default":{"default":"integral with intersection"}},key:"2A19"},{category:"Sm",mappings:{"default":{"default":"integral with union"}}, +key:"2A1A"},{category:"Sm",mappings:{"default":{"default":"integral with overbar"}},key:"2A1B"},{category:"Sm",mappings:{"default":{"default":"integral with underbar"}},key:"2A1C"},{category:"Sm",mappings:{"default":{"default":"join"}},key:"2A1D"},{category:"Sm",mappings:{"default":{"default":"large left triangle operator"}},key:"2A1E"},{category:"Sm",mappings:{"default":{"default":"z notation schema composition"}},key:"2A1F"},{category:"Sm",mappings:{"default":{"default":"z notation schema piping"}}, +key:"2A20"},{category:"Sm",mappings:{"default":{"default":"z notation schema projection"}},key:"2A21"},{category:"Sm",mappings:{"default":{"default":"plus sign with small circle above","short":"plus with circle above"}},key:"2A22"},{category:"Sm",mappings:{"default":{"default":"plus sign with circumflex accent above","short":"plus hat"}},key:"2A23"},{category:"Sm",mappings:{"default":{"default":"plus sign with tilde above","short":"plus tilde"}},key:"2A24"},{category:"Sm",mappings:{"default":{"default":"plus sign with dot below", +"short":"plus underdot"}},key:"2A25"},{category:"Sm",mappings:{"default":{"default":"plus sign with tilde below"}},key:"2A26"},{category:"Sm",mappings:{"default":{"default":"plus sign with subscript two"}},key:"2A27"},{category:"Sm",mappings:{"default":{"default":"plus sign with black triangle"}},key:"2A28"},{category:"Sm",mappings:{"default":{"default":"minus sign with comma above"}},key:"2A29"},{category:"Sm",mappings:{"default":{"default":"minus sign with dot below"}},key:"2A2A"},{category:"Sm", +mappings:{"default":{"default":"minus sign with falling dots"}},key:"2A2B"},{category:"Sm",mappings:{"default":{"default":"minus sign with rising dots"}},key:"2A2C"},{category:"Sm",mappings:{"default":{"default":"plus sign in left half circle"}},key:"2A2D"},{category:"Sm",mappings:{"default":{"default":"plus sign in right half circle"}},key:"2A2E"},{category:"Sm",mappings:{"default":{"default":"vector or cross product"}},key:"2A2F"},{category:"Sm",mappings:{"default":{"default":"multiplication sign with dot above"}}, +key:"2A30"},{category:"Sm",mappings:{"default":{"default":"multiplication sign with underbar"}},key:"2A31"},{category:"Sm",mappings:{"default":{"default":"semidirect product with bottom closed"}},key:"2A32"},{category:"Sm",mappings:{"default":{"default":"smash product"}},key:"2A33"},{category:"Sm",mappings:{"default":{"default":"multiplication sign in left half circle"}},key:"2A34"},{category:"Sm",mappings:{"default":{"default":"multiplication sign in right half circle"}},key:"2A35"},{category:"Sm", +mappings:{"default":{"default":"circled multiplication sign with circumflex accent"}},key:"2A36"},{category:"Sm",mappings:{"default":{"default":"multiplication sign in double circle"}},key:"2A37"},{category:"Sm",mappings:{"default":{"default":"circled division sign","short":"circled division"}},key:"2A38"},{category:"Sm",mappings:{"default":{"default":"plus sign in triangle"}},key:"2A39"},{category:"Sm",mappings:{"default":{"default":"minus sign in triangle"}},key:"2A3A"},{category:"Sm",mappings:{"default":{"default":"multiplication sign in triangle"}}, +key:"2A3B"},{category:"Sm",mappings:{"default":{"default":"interior product"}},key:"2A3C"},{category:"Sm",mappings:{"default":{"default":"righthand interior product"}},key:"2A3D"},{category:"Sm",mappings:{"default":{"default":"z notation relational composition"}},key:"2A3E"},{category:"Sm",mappings:{"default":{"default":"amalgamation or coproduct"}},key:"2A3F"},{category:"Sm",mappings:{"default":{"default":"intersection with dot"}},key:"2A40"},{category:"Sm",mappings:{"default":{"default":"union with minus sign", +"short":"union with minus"}},key:"2A41"},{category:"Sm",mappings:{"default":{"default":"union with overbar"}},key:"2A42"},{category:"Sm",mappings:{"default":{"default":"intersection with overbar"}},key:"2A43"},{category:"Sm",mappings:{"default":{"default":"intersection with logical and"}},key:"2A44"},{category:"Sm",mappings:{"default":{"default":"union with logical or"}},key:"2A45"},{category:"Sm",mappings:{"default":{"default":"union above intersection"}},key:"2A46"},{category:"Sm",mappings:{"default":{"default":"intersection above union"}}, +key:"2A47"},{category:"Sm",mappings:{"default":{"default":"union above bar above intersection"}},key:"2A48"},{category:"Sm",mappings:{"default":{"default":"intersection above bar above union"}},key:"2A49"},{category:"Sm",mappings:{"default":{"default":"union beside and joined with union"}},key:"2A4A"},{category:"Sm",mappings:{"default":{"default":"intersection beside and joined with intersection"}},key:"2A4B"},{category:"Sm",mappings:{"default":{"default":"closed union with serifs"}},key:"2A4C"}, +{category:"Sm",mappings:{"default":{"default":"closed intersection with serifs"}},key:"2A4D"},{category:"Sm",mappings:{"default":{"default":"double square intersection"}},key:"2A4E"},{category:"Sm",mappings:{"default":{"default":"double square union"}},key:"2A4F"},{category:"Sm",mappings:{"default":{"default":"closed union with serifs and smash product"}},key:"2A50"},{category:"Sm",mappings:{"default":{"default":"logical and with dot above"}},key:"2A51"},{category:"Sm",mappings:{"default":{"default":"logical or with dot above"}}, +key:"2A52"},{category:"Sm",mappings:{"default":{"default":"double logical and"}},key:"2A53"},{category:"Sm",mappings:{"default":{"default":"double logical or"}},key:"2A54"},{category:"Sm",mappings:{"default":{"default":"two intersecting logical and"}},key:"2A55"},{category:"Sm",mappings:{"default":{"default":"two intersecting logical or"}},key:"2A56"},{category:"Sm",mappings:{"default":{"default":"sloping large or"}},key:"2A57"},{category:"Sm",mappings:{"default":{"default":"sloping large and"}}, +key:"2A58"},{category:"Sm",mappings:{"default":{"default":"logical or overlapping logical and"}},key:"2A59"},{category:"Sm",mappings:{"default":{"default":"logical and with middle stem"}},key:"2A5A"},{category:"Sm",mappings:{"default":{"default":"logical or with middle stem"}},key:"2A5B"},{category:"Sm",mappings:{"default":{"default":"logical and with horizontal dash"}},key:"2A5C"},{category:"Sm",mappings:{"default":{"default":"logical or with horizontal dash"}},key:"2A5D"},{category:"Sm",mappings:{"default":{"default":"logical and with double overbar"}}, +key:"2A5E"},{category:"Sm",mappings:{"default":{"default":"logical and with underbar"}},key:"2A5F"},{category:"Sm",mappings:{"default":{"default":"logical and with double underbar"}},key:"2A60"},{category:"Sm",mappings:{"default":{"default":"small vee with underbar"}},key:"2A61"},{category:"Sm",mappings:{"default":{"default":"logical or with double overbar"}},key:"2A62"},{category:"Sm",mappings:{"default":{"default":"logical or with double underbar"}},key:"2A63"},{category:"Sm",mappings:{"default":{"default":"z notation domain antirestriction"}}, +key:"2A64"},{category:"Sm",mappings:{"default":{"default":"z notation range antirestriction"}},key:"2A65"},{category:"Sm",mappings:{"default":{"default":"equals sign with dot below"}},key:"2A66"},{category:"Sm",mappings:{"default":{"default":"identical with dot above"}},key:"2A67"},{category:"Sm",mappings:{"default":{"default":"triple horizontal bar with double vertical stroke"}},key:"2A68"},{category:"Sm",mappings:{"default":{"default":"triple horizontal bar with triple vertical stroke"}},key:"2A69"}, +{category:"Sm",mappings:{"default":{"default":"tilde operator with dot above"}},key:"2A6A"},{category:"Sm",mappings:{"default":{"default":"tilde operator with rising dots"}},key:"2A6B"},{category:"Sm",mappings:{"default":{"default":"similar minus similar"}},key:"2A6C"},{category:"Sm",mappings:{"default":{"default":"congruent with dot above"}},key:"2A6D"},{category:"Sm",mappings:{"default":{"default":"equals with asterisk"}},key:"2A6E"},{category:"Sm",mappings:{"default":{"default":"almost equal to with circumflex accent", +"short":"almost equal hat"}},key:"2A6F"},{category:"Sm",mappings:{"default":{"default":"approximately equal or equal to"}},key:"2A70"},{category:"Sm",mappings:{"default":{"default":"equals sign above plus sign","short":"equals above plus"}},key:"2A71"},{category:"Sm",mappings:{"default":{"default":"plus sign above equals sign","short":"plus above equals"}},key:"2A72"},{category:"Sm",mappings:{"default":{"default":"equals sign above tilde operator","short":"equals above tilde operator"}},key:"2A73"}, +{category:"Sm",mappings:{"default":{"default":"double colon equal"}},key:"2A74"},{category:"Sm",mappings:{"default":{"default":"two consecutive equals signs","short":"two consecutive equals"}},key:"2A75"},{category:"Sm",mappings:{"default":{"default":"three consecutive equals signs","short":"three consecutive equals"}},key:"2A76"},{category:"Sm",mappings:{"default":{"default":"equals sign with two dots above and two dots below"}},key:"2A77"},{category:"Sm",mappings:{"default":{"default":"equivalent with four dots above"}}, +key:"2A78"},{category:"Sm",mappings:{"default":{"default":"less than with circle inside"}},key:"2A79"},{category:"Sm",mappings:{"default":{"default":"greater than with circle inside"}},key:"2A7A"},{category:"Sm",mappings:{"default":{"default":"less than with question mark above"}},key:"2A7B"},{category:"Sm",mappings:{"default":{"default":"greater than with question mark above"}},key:"2A7C"},{category:"Sm",mappings:{"default":{"default":"less than or slanted equal to"}},key:"2A7D"},{category:"Sm", +mappings:{"default":{"default":"greater than or slanted equal to"}},key:"2A7E"},{category:"Sm",mappings:{"default":{"default":"less than or slanted equal to with dot inside"}},key:"2A7F"},{category:"Sm",mappings:{"default":{"default":"greater than or slanted equal to with dot inside"}},key:"2A80"},{category:"Sm",mappings:{"default":{"default":"less than or slanted equal to with dot above"}},key:"2A81"},{category:"Sm",mappings:{"default":{"default":"greater than or slanted equal to with dot above"}}, +key:"2A82"},{category:"Sm",mappings:{"default":{"default":"less than or slanted equal to with dot above right"}},key:"2A83"},{category:"Sm",mappings:{"default":{"default":"greater than or slanted equal to with dot above left"}},key:"2A84"},{category:"Sm",mappings:{"default":{"default":"less than or approximate"}},key:"2A85"},{category:"Sm",mappings:{"default":{"default":"greater than or approximate"}},key:"2A86"},{category:"Sm",mappings:{"default":{"default":"less than and single line not equal to"}}, +key:"2A87"},{category:"Sm",mappings:{"default":{"default":"greater than and single line not equal to"}},key:"2A88"},{category:"Sm",mappings:{"default":{"default":"less than and not approximate"}},key:"2A89"},{category:"Sm",mappings:{"default":{"default":"greater than and not approximate"}},key:"2A8A"},{category:"Sm",mappings:{"default":{"default":"less than above double line equal above greater than"}},key:"2A8B"},{category:"Sm",mappings:{"default":{"default":"greater than above double line equal above less than"}}, +key:"2A8C"},{category:"Sm",mappings:{"default":{"default":"less than above similar or equal"}},key:"2A8D"},{category:"Sm",mappings:{"default":{"default":"greater than above similar or equal"}},key:"2A8E"},{category:"Sm",mappings:{"default":{"default":"less than above similar above greater than"}},key:"2A8F"},{category:"Sm",mappings:{"default":{"default":"greater than above similar above less than"}},key:"2A90"},{category:"Sm",mappings:{"default":{"default":"less than above greater than above double line equal"}}, +key:"2A91"},{category:"Sm",mappings:{"default":{"default":"greater than above less than above double line equal"}},key:"2A92"},{category:"Sm",mappings:{"default":{"default":"less than above slanted equal above greater than above slanted equal"}},key:"2A93"},{category:"Sm",mappings:{"default":{"default":"greater than above slanted equal above less than above slanted equal"}},key:"2A94"},{category:"Sm",mappings:{"default":{"default":"slanted equal to or less than"}},key:"2A95"},{category:"Sm",mappings:{"default":{"default":"slanted equal to or greater than"}}, +key:"2A96"},{category:"Sm",mappings:{"default":{"default":"slanted equal to or less than with dot inside"}},key:"2A97"},{category:"Sm",mappings:{"default":{"default":"slanted equal to or greater than with dot inside"}},key:"2A98"},{category:"Sm",mappings:{"default":{"default":"double line equal to or less than"}},key:"2A99"},{category:"Sm",mappings:{"default":{"default":"double line equal to or greater than"}},key:"2A9A"},{category:"Sm",mappings:{"default":{"default":"double line slanted equal to or less than"}}, +key:"2A9B"},{category:"Sm",mappings:{"default":{"default":"double line slanted equal to or greater than"}},key:"2A9C"},{category:"Sm",mappings:{"default":{"default":"similar or less than"}},key:"2A9D"},{category:"Sm",mappings:{"default":{"default":"similar or greater than"}},key:"2A9E"},{category:"Sm",mappings:{"default":{"default":"similar above less than above equals sign"}},key:"2A9F"},{category:"Sm",mappings:{"default":{"default":"similar above greater than above equals sign"}},key:"2AA0"},{category:"Sm", +mappings:{"default":{"default":"double nested less than"}},key:"2AA1"},{category:"Sm",mappings:{"default":{"default":"double nested greater than"}},key:"2AA2"},{category:"Sm",mappings:{"default":{"default":"double nested less than with underbar"}},key:"2AA3"},{category:"Sm",mappings:{"default":{"default":"greater than overlapping less than"}},key:"2AA4"},{category:"Sm",mappings:{"default":{"default":"greater than beside less than"}},key:"2AA5"},{category:"Sm",mappings:{"default":{"default":"less than closed by curve"}}, +key:"2AA6"},{category:"Sm",mappings:{"default":{"default":"greater than closed by curve"}},key:"2AA7"},{category:"Sm",mappings:{"default":{"default":"less than closed by curve above slanted equal"}},key:"2AA8"},{category:"Sm",mappings:{"default":{"default":"greater than closed by curve above slanted equal"}},key:"2AA9"},{category:"Sm",mappings:{"default":{"default":"smaller than"}},key:"2AAA"},{category:"Sm",mappings:{"default":{"default":"larger than"}},key:"2AAB"},{category:"Sm",mappings:{"default":{"default":"smaller than or equal to"}}, +key:"2AAC"},{category:"Sm",mappings:{"default":{"default":"larger than or equal to"}},key:"2AAD"},{category:"Sm",mappings:{"default":{"default":"equals sign with bumpy above"}},key:"2AAE"},{category:"Sm",mappings:{"default":{"default":"precedes above single line equals sign"}},key:"2AAF"},{category:"Sm",mappings:{"default":{"default":"succeeds above single line equals sign"}},key:"2AB0"},{category:"Sm",mappings:{"default":{"default":"precedes above single line not equal to"}},key:"2AB1"},{category:"Sm", +mappings:{"default":{"default":"succeeds above single line not equal to"}},key:"2AB2"},{category:"Sm",mappings:{"default":{"default":"precedes above equals sign"}},key:"2AB3"},{category:"Sm",mappings:{"default":{"default":"succeeds above equals sign"}},key:"2AB4"},{category:"Sm",mappings:{"default":{"default":"precedes above not equal to"}},key:"2AB5"},{category:"Sm",mappings:{"default":{"default":"succeeds above not equal to"}},key:"2AB6"},{category:"Sm",mappings:{"default":{"default":"precedes above almost equal to"}}, +key:"2AB7"},{category:"Sm",mappings:{"default":{"default":"succeeds above almost equal to"}},key:"2AB8"},{category:"Sm",mappings:{"default":{"default":"precedes above not almost equal to"}},key:"2AB9"},{category:"Sm",mappings:{"default":{"default":"succeeds above not almost equal to"}},key:"2ABA"},{category:"Sm",mappings:{"default":{"default":"double precedes"}},key:"2ABB"},{category:"Sm",mappings:{"default":{"default":"double succeeds"}},key:"2ABC"},{category:"Sm",mappings:{"default":{"default":"subset with dot"}}, +key:"2ABD"},{category:"Sm",mappings:{"default":{"default":"superset with dot"}},key:"2ABE"},{category:"Sm",mappings:{"default":{"default":"subset with plus sign below"}},key:"2ABF"},{category:"Sm",mappings:{"default":{"default":"superset with plus sign below"}},key:"2AC0"},{category:"Sm",mappings:{"default":{"default":"subset with multiplication sign below"}},key:"2AC1"},{category:"Sm",mappings:{"default":{"default":"superset with multiplication sign below"}},key:"2AC2"},{category:"Sm",mappings:{"default":{"default":"subset of or equal to with dot above"}}, +key:"2AC3"},{category:"Sm",mappings:{"default":{"default":"superset of or equal to with dot above"}},key:"2AC4"},{category:"Sm",mappings:{"default":{"default":"subset of above equals sign"}},key:"2AC5"},{category:"Sm",mappings:{"default":{"default":"superset of above equals sign"}},key:"2AC6"},{category:"Sm",mappings:{"default":{"default":"subset of above tilde operator"}},key:"2AC7"},{category:"Sm",mappings:{"default":{"default":"superset of above tilde operator"}},key:"2AC8"},{category:"Sm",mappings:{"default":{"default":"subset of above almost equal to"}}, +key:"2AC9"},{category:"Sm",mappings:{"default":{"default":"superset of above almost equal to"}},key:"2ACA"},{category:"Sm",mappings:{"default":{"default":"subset of above not equal to"}},key:"2ACB"},{category:"Sm",mappings:{"default":{"default":"superset of above not equal to"}},key:"2ACC"},{category:"Sm",mappings:{"default":{"default":"square left open box operator"}},key:"2ACD"},{category:"Sm",mappings:{"default":{"default":"square right open box operator"}},key:"2ACE"},{category:"Sm",mappings:{"default":{"default":"closed subset"}}, +key:"2ACF"},{category:"Sm",mappings:{"default":{"default":"closed superset"}},key:"2AD0"},{category:"Sm",mappings:{"default":{"default":"closed subset or equal to"}},key:"2AD1"},{category:"Sm",mappings:{"default":{"default":"closed superset or equal to"}},key:"2AD2"},{category:"Sm",mappings:{"default":{"default":"subset above superset"}},key:"2AD3"},{category:"Sm",mappings:{"default":{"default":"superset above subset"}},key:"2AD4"},{category:"Sm",mappings:{"default":{"default":"subset above subset"}}, +key:"2AD5"},{category:"Sm",mappings:{"default":{"default":"superset above superset"}},key:"2AD6"},{category:"Sm",mappings:{"default":{"default":"superset beside subset"}},key:"2AD7"},{category:"Sm",mappings:{"default":{"default":"superset beside and joined by dash with subset"}},key:"2AD8"},{category:"Sm",mappings:{"default":{"default":"element of opening downwards"}},key:"2AD9"},{category:"Sm",mappings:{"default":{"default":"pitchfork with tee top"}},key:"2ADA"},{category:"Sm",mappings:{"default":{"default":"transversal intersection"}}, +key:"2ADB"},{category:"Sm",mappings:{"default":{"default":"forking"}},key:"2ADC"},{category:"Sm",mappings:{"default":{"default":"nonforking"}},key:"2ADD"},{category:"Sm",mappings:{"default":{"default":"short left tack"}},key:"2ADE"},{category:"Sm",mappings:{"default":{"default":"short down tack"}},key:"2ADF"},{category:"Sm",mappings:{"default":{"default":"short up tack"}},key:"2AE0"},{category:"Sm",mappings:{"default":{"default":"perpendicular with s"}},key:"2AE1"},{category:"Sm",mappings:{"default":{"default":"vertical bar triple right turnstile"}}, +key:"2AE2"},{category:"Sm",mappings:{"default":{"default":"double vertical bar left turnstile"}},key:"2AE3"},{category:"Sm",mappings:{"default":{"default":"vertical bar double left turnstile"}},key:"2AE4"},{category:"Sm",mappings:{"default":{"default":"double vertical bar double left turnstile"}},key:"2AE5"},{category:"Sm",mappings:{"default":{"default":"long dash from left member of double vertical"}},key:"2AE6"},{category:"Sm",mappings:{"default":{"default":"short down tack with overbar"}},key:"2AE7"}, +{category:"Sm",mappings:{"default":{"default":"short up tack with underbar"}},key:"2AE8"},{category:"Sm",mappings:{"default":{"default":"short up tack above short down tack"}},key:"2AE9"},{category:"Sm",mappings:{"default":{"default":"double down tack"}},key:"2AEA"},{category:"Sm",mappings:{"default":{"default":"double up tack"}},key:"2AEB"},{category:"Sm",mappings:{"default":{"default":"double stroke not sign"}},key:"2AEC"},{category:"Sm",mappings:{"default":{"default":"reversed double stroke not sign"}}, +key:"2AED"},{category:"Sm",mappings:{"default":{"default":"does not divide with reversed negation slash"}},key:"2AEE"},{category:"Sm",mappings:{"default":{"default":"vertical line with circle above"}},key:"2AEF"},{category:"Sm",mappings:{"default":{"default":"vertical line with circle below"}},key:"2AF0"},{category:"Sm",mappings:{"default":{"default":"down tack with circle below"}},key:"2AF1"},{category:"Sm",mappings:{"default":{"default":"parallel with horizontal stroke"}},key:"2AF2"},{category:"Sm", +mappings:{"default":{"default":"parallel with tilde operator"}},key:"2AF3"},{category:"Sm",mappings:{"default":{"default":"triple vertical bar binary relation"}},key:"2AF4"},{category:"Sm",mappings:{"default":{"default":"triple vertical bar with horizontal stroke"}},key:"2AF5"},{category:"Sm",mappings:{"default":{"default":"triple colon operator"}},key:"2AF6"},{category:"Sm",mappings:{"default":{"default":"triple nested less than"}},key:"2AF7"},{category:"Sm",mappings:{"default":{"default":"triple nested greater than"}}, +key:"2AF8"},{category:"Sm",mappings:{"default":{"default":"double line slanted less than or equal to"}},key:"2AF9"},{category:"Sm",mappings:{"default":{"default":"double line slanted greater than or equal to"}},key:"2AFA"},{category:"Sm",mappings:{"default":{"default":"triple solidus binary relation"}},key:"2AFB"},{category:"Sm",mappings:{"default":{"default":"large triple vertical bar operator"}},key:"2AFC"},{category:"Sm",mappings:{"default":{"default":"double solidus operator"}},key:"2AFD"},{category:"Sm", +mappings:{"default":{"default":"white vertical bar"}},key:"2AFE"},{category:"Sm",mappings:{"default":{"default":"n ary white vertical bar"}},key:"2AFF"},{category:"Pd",mappings:{"default":{"default":"wave dash"}},key:"301C"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical comma"}},key:"FE10"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical colon"}},key:"FE13"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical semicolon"}}, +key:"FE14"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical exclamation mark"}},key:"FE15"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical question mark"}},key:"FE16"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical horizontal ellipsis"}},key:"FE19"},{category:"Po",mappings:{"default":{"default":"presentation form for vertical two dot leader",alternative:"glyph for vertical two dot leader"}},key:"FE30"},{category:"Pd", +mappings:{"default":{"default":"presentation form for vertical em dash",alternative:"glyph for vertical em dash"}},key:"FE31"},{category:"Pd",mappings:{"default":{"default":"presentation form for vertical en dash",alternative:"glyph for vertical en dash"}},key:"FE32"},{category:"Pc",mappings:{"default":{"default":"presentation form for vertical low line",alternative:"glyph for vertical spacing underscore"}},key:"FE33"},{category:"Pc",mappings:{"default":{"default":"presentation form for vertical wavy low line", +alternative:"glyph for vertical spacing wavy underscore"}},key:"FE34"},{category:"Po",mappings:{"default":{"default":"sesame dot"}},key:"FE45"},{category:"Po",mappings:{"default":{"default":"white sesame dot"}},key:"FE46"},{category:"Po",mappings:{"default":{"default":"dashed overline",alternative:"spacing dashed overscore"}},key:"FE49"},{category:"Po",mappings:{"default":{"default":"centerline overline",alternative:"spacing centerline overscore"}},key:"FE4A"},{category:"Po",mappings:{"default":{"default":"wavy overline", +alternative:"spacing wavy overscore"}},key:"FE4B"},{category:"Po",mappings:{"default":{"default":"double wavy overline",alternative:"spacing double wavy overscore"}},key:"FE4C"},{category:"Pc",mappings:{"default":{"default":"dashed low line",alternative:"spacing dashed underscore"}},key:"FE4D"},{category:"Pc",mappings:{"default":{"default":"centerline low line",alternative:"spacing centerline underscore"}},key:"FE4E"},{category:"Pc",mappings:{"default":{"default":"wavy low line",alternative:"spacing wavy underscore"}}, +key:"FE4F"},{category:"Po",mappings:{"default":{"default":"small comma"}},key:"FE50"},{category:"Po",mappings:{"default":{"default":"small full stop",alternative:"small period"}},key:"FE52"},{category:"Po",mappings:{"default":{"default":"small semicolon"}},key:"FE54"},{category:"Po",mappings:{"default":{"default":"small colon"}},key:"FE55"},{category:"Po",mappings:{"default":{"default":"small question mark"}},key:"FE56"},{category:"Po",mappings:{"default":{"default":"small exclamation mark"}},key:"FE57"}, +{category:"Pd",mappings:{"default":{"default":"small em dash"}},key:"FE58"},{category:"Po",mappings:{"default":{"default":"small number sign"}},key:"FE5F"},{category:"Po",mappings:{"default":{"default":"small ampersand"}},key:"FE60"},{category:"Po",mappings:{"default":{"default":"small asterisk"}},key:"FE61"},{category:"Sm",mappings:{"default":{"default":"small plus sign"}},key:"FE62"},{category:"Pd",mappings:{"default":{"default":"small hyphen minus"}},key:"FE63"},{category:"Sm",mappings:{"default":{"default":"small less than sign"}}, +key:"FE64"},{category:"Sm",mappings:{"default":{"default":"small greater than sign"}},key:"FE65"},{category:"Sm",mappings:{"default":{"default":"small equals sign"}},key:"FE66"},{category:"Po",mappings:{"default":{"default":"small reverse solidus",alternative:"small backslash"}},key:"FE68"},{category:"Sc",mappings:{"default":{"default":"small dollar sign"}},key:"FE69"},{category:"Po",mappings:{"default":{"default":"small percent sign"}},key:"FE6A"},{category:"Po",mappings:{"default":{"default":"small commercial at"}}, +key:"FE6B"},{category:"Po",mappings:{"default":{"default":"fullwidth exclamation mark"}},key:"FF01"},{category:"Po",mappings:{"default":{"default":"fullwidth quotation mark"}},key:"FF02"},{category:"Po",mappings:{"default":{"default":"fullwidth number sign"}},key:"FF03"},{category:"Sc",mappings:{"default":{"default":"fullwidth dollar sign"}},key:"FF04"},{category:"Po",mappings:{"default":{"default":"fullwidth percent sign"}},key:"FF05"},{category:"Po",mappings:{"default":{"default":"fullwidth ampersand"}}, +key:"FF06"},{category:"Po",mappings:{"default":{"default":"fullwidth apostrophe"}},key:"FF07"},{category:"Po",mappings:{"default":{"default":"fullwidth asterisk"}},key:"FF0A"},{category:"Sm",mappings:{"default":{"default":"fullwidth plus sign"}},key:"FF0B"},{category:"Po",mappings:{"default":{"default":"fullwidth comma"}},key:"FF0C"},{category:"Pd",mappings:{"default":{"default":"fullwidth hyphen minus"}},key:"FF0D"},{category:"Po",mappings:{"default":{"default":"fullwidth full stop",alternative:"fullwidth period"}}, +key:"FF0E"},{category:"Po",mappings:{"default":{"default":"fullwidth solidus",alternative:"fullwidth slash"}},key:"FF0F"},{category:"Po",mappings:{"default":{"default":"fullwidth colon"}},key:"FF1A"},{category:"Po",mappings:{"default":{"default":"fullwidth semicolon"}},key:"FF1B"},{category:"Sm",mappings:{"default":{"default":"fullwidth less than sign"}},key:"FF1C"},{category:"Sm",mappings:{"default":{"default":"fullwidth equals sign"}},key:"FF1D"},{category:"Sm",mappings:{"default":{"default":"fullwidth greater than sign"}}, +key:"FF1E"},{category:"Po",mappings:{"default":{"default":"fullwidth question mark"}},key:"FF1F"},{category:"Po",mappings:{"default":{"default":"fullwidth commercial at"}},key:"FF20"},{category:"Po",mappings:{"default":{"default":"fullwidth reverse solidus",alternative:"fullwidth backslash"}},key:"FF3C"},{category:"Sk",mappings:{"default":{"default":"fullwidth circumflex accent",alternative:"fullwidth spacing circumflex"}},key:"FF3E"},{category:"Pc",mappings:{"default":{"default":"fullwidth low line", +alternative:"fullwidth spacing underscore"}},key:"FF3F"},{category:"Sk",mappings:{"default":{"default":"fullwidth grave accent",alternative:"fullwidth spacing grave"}},key:"FF40"},{category:"Sm",mappings:{"default":{"default":"fullwidth vertical line",alternative:"fullwidth vertical bar"}},key:"FF5C"},{category:"Sm",mappings:{"default":{"default":"fullwidth tilde",alternative:"fullwidth spacing tilde"}},key:"FF5E"},{category:"Sc",mappings:{"default":{"default":"fullwidth cent sign"}},key:"FFE0"}, +{category:"Sc",mappings:{"default":{"default":"fullwidth pound sign"}},key:"FFE1"},{category:"Sm",mappings:{"default":{"default":"fullwidth not sign"}},key:"FFE2"},{category:"Sk",mappings:{"default":{"default":"fullwidth macron",alternative:"fullwidth spacing macron"}},key:"FFE3"},{category:"So",mappings:{"default":{"default":"fullwidth broken bar",alternative:"fullwidth broken vertical bar"}},key:"FFE4"},{category:"Sc",mappings:{"default":{"default":"fullwidth yen sign"}},key:"FFE5"},{category:"Sc", +mappings:{"default":{"default":"fullwidth won sign"}},key:"FFE6"},{category:"So",mappings:{"default":{"default":"halfwidth forms light vertical"}},key:"FFE8"},{category:"So",mappings:{"default":{"default":"halfwidth black square"}},key:"FFED"},{category:"So",mappings:{"default":{"default":"halfwidth white circle"}},key:"FFEE"},{category:"Ll",names:[],key:"03B1",mappings:{"default":{"default":"greek small letter alpha","short":"alpha"}}},{category:"Ll",names:[],key:"03B2",mappings:{"default":{"default":"greek small letter beta", +"short":"beta"}}},{category:"Ll",names:[],key:"03B3",mappings:{"default":{"default":"greek small letter gamma","short":"gamma"}}},{category:"Ll",names:[],key:"03B4",mappings:{"default":{"default":"greek small letter delta","short":"delta"}}},{category:"Ll",names:[],key:"03B5",mappings:{"default":{"default":"greek small letter epsilon","short":"epsilon"}}},{category:"Ll",names:[],key:"03B6",mappings:{"default":{"default":"greek small letter zeta","short":"zeta"}}},{category:"Ll",names:[],key:"03B7", +mappings:{"default":{"default":"greek small letter eta","short":"eta"}}},{category:"Ll",names:[],key:"03B8",mappings:{"default":{"default":"greek small letter theta","short":"theta"}}},{category:"Ll",names:[],key:"03B9",mappings:{"default":{"default":"greek small letter iota","short":"iota"}}},{category:"Ll",names:[],key:"03BA",mappings:{"default":{"default":"greek small letter kappa","short":"kappa"}}},{category:"Ll",names:[],key:"03BB",mappings:{"default":{"default":"greek small letter lamda",alternative:"greek small letter lambda", +"short":"lamda"}}},{category:"Ll",names:[],key:"03BC",mappings:{"default":{"default":"greek small letter mu","short":"mu"}}},{category:"Ll",names:[],key:"03BD",mappings:{"default":{"default":"greek small letter nu","short":"nu"}}},{category:"Ll",names:[],key:"03BE",mappings:{"default":{"default":"greek small letter xi","short":"xi"}}},{category:"Ll",names:[],key:"03BF",mappings:{"default":{"default":"greek small letter omicron","short":"omicron"}}},{category:"Ll",names:[],key:"03C0",mappings:{"default":{"default":"greek small letter pi", +"short":"pi"}}},{category:"Ll",names:[],key:"03C1",mappings:{"default":{"default":"greek small letter rho","short":"rho"}}},{category:"Ll",names:[],key:"03C2",mappings:{"default":{"default":"greek small letter final sigma","short":"final sigma"}}},{category:"Ll",names:[],key:"03C3",mappings:{"default":{"default":"greek small letter sigma","short":"sigma"}}},{category:"Ll",names:[],key:"03C4",mappings:{"default":{"default":"greek small letter tau","short":"tau"}}},{category:"Ll",names:[],key:"03C5", +mappings:{"default":{"default":"greek small letter upsilon","short":"upsilon"}}},{category:"Ll",names:[],key:"03C6",mappings:{"default":{"default":"greek small letter phi","short":"phi"}}},{category:"Ll",names:[],key:"03C7",mappings:{"default":{"default":"greek small letter chi","short":"chi"}}},{category:"Ll",names:[],key:"03C8",mappings:{"default":{"default":"greek small letter psi","short":"psi"}}},{category:"Ll",names:[],key:"03C9",mappings:{"default":{"default":"greek small letter omega","short":"omega"}}}, +{category:"Ll",mappings:{"default":{"default":"greek beta symbol",alternative:"greek small letter curled beta","short":"beta"}},key:"03D0"},{category:"Ll",mappings:{"default":{"default":"greek theta symbol",alternative:"greek small letter script theta","short":"theta"}},key:"03D1"},{category:"Ll",mappings:{"default":{"default":"greek phi symbol",alternative:"greek small letter script phi","short":"phi"}},key:"03D5"},{category:"Ll",mappings:{"default":{"default":"greek pi symbol",alternative:"greek small letter omega pi", +"short":"pi"}},key:"03D6"},{category:"Ll",mappings:{"default":{"default":"greek kai symbol","short":"kai"}},key:"03D7"},{category:"Ll",mappings:{"default":{"default":"greek kappa symbol",alternative:"greek small letter script kappa","short":"kappa"}},key:"03F0"},{category:"Ll",mappings:{"default":{"default":"greek rho symbol",alternative:"greek small letter tailed rho","short":"rho"}},key:"03F1"},{category:"Ll",mappings:{"default":{"default":"greek lunate epsilon symbol","short":"epsilon"}},key:"03F5"}, +{category:"Sm",mappings:{"default":{"default":"greek reversed lunate epsilon symbol","short":"reversed epsilon"}},key:"03F6"},{category:"Lu",names:[],key:"0391",mappings:{"default":{"default":"greek capital letter alpha","short":"cap alpha"}}},{category:"Lu",names:[],key:"0392",mappings:{"default":{"default":"greek capital letter beta","short":"cap beta"}}},{category:"Lu",names:[],key:"0393",mappings:{"default":{"default":"greek capital letter gamma","short":"cap gamma"}}},{category:"Lu",names:[], +key:"0394",mappings:{"default":{"default":"greek capital letter delta","short":"cap delta"}}},{category:"Lu",names:[],key:"0395",mappings:{"default":{"default":"greek capital letter epsilon","short":"cap epsilon"}}},{category:"Lu",names:[],key:"0396",mappings:{"default":{"default":"greek capital letter zeta","short":"cap zeta"}}},{category:"Lu",names:[],key:"0397",mappings:{"default":{"default":"greek capital letter eta","short":"cap eta"}}},{category:"Lu",names:[],key:"0398",mappings:{"default":{"default":"greek capital letter theta", +"short":"cap theta"}}},{category:"Lu",names:[],key:"0399",mappings:{"default":{"default":"greek capital letter iota","short":"cap iota"}}},{category:"Lu",names:[],key:"039A",mappings:{"default":{"default":"greek capital letter kappa","short":"cap kappa"}}},{category:"Lu",names:[],key:"039B",mappings:{"default":{"default":"greek capital letter lamda",alternative:"greek capital letter lambda","short":"cap lamda"}}},{category:"Lu",names:[],key:"039C",mappings:{"default":{"default":"greek capital letter mu", +"short":"cap mu"}}},{category:"Lu",names:[],key:"039D",mappings:{"default":{"default":"greek capital letter nu","short":"cap nu"}}},{category:"Lu",names:[],key:"039E",mappings:{"default":{"default":"greek capital letter xi","short":"cap xi"}}},{category:"Lu",names:[],key:"039F",mappings:{"default":{"default":"greek capital letter omicron","short":"cap omicron"}}},{category:"Lu",names:[],key:"03A0",mappings:{"default":{"default":"greek capital letter pi","short":"cap pi"}}},{category:"Lu",names:[], +key:"03A1",mappings:{"default":{"default":"greek capital letter rho","short":"cap rho"}}},{category:"Lu",names:[],key:"03A3",mappings:{"default":{"default":"greek capital letter sigma","short":"cap sigma"}}},{category:"Lu",names:[],key:"03A4",mappings:{"default":{"default":"greek capital letter tau","short":"cap tau"}}},{category:"Lu",names:[],key:"03A5",mappings:{"default":{"default":"greek capital letter upsilon","short":"cap upsilon"}}},{category:"Lu",names:[],key:"03A6",mappings:{"default":{"default":"greek capital letter phi", +"short":"cap phi"}}},{category:"Lu",names:[],key:"03A7",mappings:{"default":{"default":"greek capital letter chi","short":"cap chi"}}},{category:"Lu",names:[],key:"03A8",mappings:{"default":{"default":"greek capital letter psi","short":"cap psi"}}},{category:"Lu",names:[],key:"03A9",mappings:{"default":{"default":"greek capital letter omega","short":"cap omega"}}},{category:"Lu",mappings:{"default":{"default":"greek capital theta symbol","short":"cap theta"}},key:"03F4"},{category:"Ps",mappings:{"default":{"default":"left parenthesis", +alternative:"opening parenthesis"}},key:"0028"},{category:"Pe",mappings:{"default":{"default":"right parenthesis",alternative:"closing parenthesis"}},key:"0029"},{category:"Ps",mappings:{"default":{"default":"left square bracket",alternative:"opening square bracket"}},key:"005B"},{category:"Pe",mappings:{"default":{"default":"right square bracket",alternative:"closing square bracket"}},key:"005D"},{category:"Ps",mappings:{"default":{"default":"left curly bracket",alternative:"opening curly bracket"}}, +key:"007B"},{category:"Pe",mappings:{"default":{"default":"right curly bracket",alternative:"closing curly bracket"}},key:"007D"},{category:"Ps",mappings:{"default":{"default":"left square bracket with quill"}},key:"2045"},{category:"Pe",mappings:{"default":{"default":"right square bracket with quill"}},key:"2046"},{category:"Sm",mappings:{"default":{"default":"left ceiling"}},key:"2308"},{category:"Sm",mappings:{"default":{"default":"right ceiling"}},key:"2309"},{category:"Sm",mappings:{"default":{"default":"left floor"}}, +key:"230A"},{category:"Sm",mappings:{"default":{"default":"right floor"}},key:"230B"},{category:"So",mappings:{"default":{"default":"bottom right crop"}},key:"230C"},{category:"So",mappings:{"default":{"default":"bottom left crop"}},key:"230D"},{category:"So",mappings:{"default":{"default":"top right crop"}},key:"230E"},{category:"So",mappings:{"default":{"default":"top left crop"}},key:"230F"},{category:"So",mappings:{"default":{"default":"top left corner"}},key:"231C"},{category:"So",mappings:{"default":{"default":"top right corner"}}, +key:"231D"},{category:"So",mappings:{"default":{"default":"bottom left corner"}},key:"231E"},{category:"So",mappings:{"default":{"default":"bottom right corner"}},key:"231F"},{category:"Sm",mappings:{"default":{"default":"top half integral"}},key:"2320"},{category:"Sm",mappings:{"default":{"default":"bottom half integral"}},key:"2321"},{category:"Ps",mappings:{"default":{"default":"left pointing angle bracket",alternative:"bra"}},key:"2329"},{category:"Pe",mappings:{"default":{"default":"right pointing angle bracket", +alternative:"ket"}},key:"232A"},{category:"Sm",mappings:{"default":{"default":"left parenthesis upper hook"}},key:"239B"},{category:"Sm",mappings:{"default":{"default":"left parenthesis extension"}},key:"239C"},{category:"Sm",mappings:{"default":{"default":"left parenthesis lower hook"}},key:"239D"},{category:"Sm",mappings:{"default":{"default":"right parenthesis upper hook"}},key:"239E"},{category:"Sm",mappings:{"default":{"default":"right parenthesis extension"}},key:"239F"},{category:"Sm",mappings:{"default":{"default":"right parenthesis lower hook"}}, +key:"23A0"},{category:"Sm",mappings:{"default":{"default":"left square bracket upper corner"}},key:"23A1"},{category:"Sm",mappings:{"default":{"default":"left square bracket extension"}},key:"23A2"},{category:"Sm",mappings:{"default":{"default":"left square bracket lower corner"}},key:"23A3"},{category:"Sm",mappings:{"default":{"default":"right square bracket upper corner"}},key:"23A4"},{category:"Sm",mappings:{"default":{"default":"right square bracket extension"}},key:"23A5"},{category:"Sm",mappings:{"default":{"default":"right square bracket lower corner"}}, +key:"23A6"},{category:"Sm",mappings:{"default":{"default":"left curly bracket upper hook"}},key:"23A7"},{category:"Sm",mappings:{"default":{"default":"left curly bracket middle piece"}},key:"23A8"},{category:"Sm",mappings:{"default":{"default":"left curly bracket lower hook"}},key:"23A9"},{category:"Sm",mappings:{"default":{"default":"curly bracket extension"}},key:"23AA"},{category:"Sm",mappings:{"default":{"default":"right curly bracket upper hook"}},key:"23AB"},{category:"Sm",mappings:{"default":{"default":"right curly bracket middle piece"}}, +key:"23AC"},{category:"Sm",mappings:{"default":{"default":"right curly bracket lower hook"}},key:"23AD"},{category:"Sm",mappings:{"default":{"default":"integral extension"}},key:"23AE"},{category:"Sm",mappings:{"default":{"default":"horizontal line extension"}},key:"23AF"},{category:"Sm",mappings:{"default":{"default":"upper left or lower right curly bracket section"}},key:"23B0"},{category:"Sm",mappings:{"default":{"default":"upper right or lower left curly bracket section"}},key:"23B1"},{category:"Sm", +mappings:{"default":{"default":"summation top"}},key:"23B2"},{category:"Sm",mappings:{"default":{"default":"summation bottom"}},key:"23B3"},{category:"So",mappings:{"default":{"default":"top square bracket"}},key:"23B4"},{category:"So",mappings:{"default":{"default":"bottom square bracket"}},key:"23B5"},{category:"So",mappings:{"default":{"default":"bottom square bracket over top square bracket"}},key:"23B6"},{category:"So",mappings:{"default":{"default":"radical symbol bottom"}},key:"23B7"},{category:"So", +mappings:{"default":{"default":"left vertical box line"}},key:"23B8"},{category:"So",mappings:{"default":{"default":"right vertical box line"}},key:"23B9"},{category:"Sm",mappings:{"default":{"default":"top parenthesis"}},key:"23DC"},{category:"Sm",mappings:{"default":{"default":"bottom parenthesis"}},key:"23DD"},{category:"Sm",mappings:{"default":{"default":"top curly bracket"}},key:"23DE"},{category:"Sm",mappings:{"default":{"default":"bottom curly bracket"}},key:"23DF"},{category:"Sm",mappings:{"default":{"default":"top tortoise shell bracket"}}, +key:"23E0"},{category:"Sm",mappings:{"default":{"default":"bottom tortoise shell bracket"}},key:"23E1"},{category:"Ps",mappings:{"default":{"default":"medium left parenthesis ornament"}},key:"2768"},{category:"Pe",mappings:{"default":{"default":"medium right parenthesis ornament"}},key:"2769"},{category:"Ps",mappings:{"default":{"default":"medium flattened left parenthesis ornament"}},key:"276A"},{category:"Pe",mappings:{"default":{"default":"medium flattened right parenthesis ornament"}},key:"276B"}, +{category:"Ps",mappings:{"default":{"default":"medium left pointing angle bracket ornament"}},key:"276C"},{category:"Pe",mappings:{"default":{"default":"medium right pointing angle bracket ornament"}},key:"276D"},{category:"Ps",mappings:{"default":{"default":"heavy left pointing angle quotation mark ornament"}},key:"276E"},{category:"Pe",mappings:{"default":{"default":"heavy right pointing angle quotation mark ornament"}},key:"276F"},{category:"Ps",mappings:{"default":{"default":"heavy left pointing angle bracket ornament"}}, +key:"2770"},{category:"Pe",mappings:{"default":{"default":"heavy right pointing angle bracket ornament"}},key:"2771"},{category:"Ps",mappings:{"default":{"default":"light left tortoise shell bracket ornament"}},key:"2772"},{category:"Pe",mappings:{"default":{"default":"light right tortoise shell bracket ornament"}},key:"2773"},{category:"Ps",mappings:{"default":{"default":"medium left curly bracket ornament"}},key:"2774"},{category:"Pe",mappings:{"default":{"default":"medium right curly bracket ornament"}}, +key:"2775"},{category:"Ps",mappings:{"default":{"default":"left s shaped bag delimiter"}},key:"27C5"},{category:"Pe",mappings:{"default":{"default":"right s shaped bag delimiter"}},key:"27C6"},{category:"Ps",mappings:{"default":{"default":"mathematical left white square bracket"}},key:"27E6"},{category:"Pe",mappings:{"default":{"default":"mathematical right white square bracket"}},key:"27E7"},{category:"Ps",mappings:{"default":{"default":"mathematical left angle bracket"}},key:"27E8"},{category:"Pe", +mappings:{"default":{"default":"mathematical right angle bracket"}},key:"27E9"},{category:"Ps",mappings:{"default":{"default":"mathematical left double angle bracket"}},key:"27EA"},{category:"Pe",mappings:{"default":{"default":"mathematical right double angle bracket"}},key:"27EB"},{category:"Ps",mappings:{"default":{"default":"mathematical left white tortoise shell bracket"}},key:"27EC"},{category:"Pe",mappings:{"default":{"default":"mathematical right white tortoise shell bracket"}},key:"27ED"}, +{category:"Ps",mappings:{"default":{"default":"mathematical left flattened parenthesis"}},key:"27EE"},{category:"Pe",mappings:{"default":{"default":"mathematical right flattened parenthesis"}},key:"27EF"},{category:"Ps",mappings:{"default":{"default":"left white curly bracket"}},key:"2983"},{category:"Pe",mappings:{"default":{"default":"right white curly bracket"}},key:"2984"},{category:"Ps",mappings:{"default":{"default":"left white parenthesis"}},key:"2985"},{category:"Pe",mappings:{"default":{"default":"right white parenthesis"}}, +key:"2986"},{category:"Ps",mappings:{"default":{"default":"z notation left image bracket"}},key:"2987"},{category:"Pe",mappings:{"default":{"default":"z notation right image bracket"}},key:"2988"},{category:"Ps",mappings:{"default":{"default":"z notation left binding bracket"}},key:"2989"},{category:"Pe",mappings:{"default":{"default":"z notation right binding bracket"}},key:"298A"},{category:"Ps",mappings:{"default":{"default":"left square bracket with underbar"}},key:"298B"},{category:"Pe",mappings:{"default":{"default":"right square bracket with underbar"}}, +key:"298C"},{category:"Ps",mappings:{"default":{"default":"left square bracket with tick in top corner"}},key:"298D"},{category:"Pe",mappings:{"default":{"default":"right square bracket with tick in bottom corner"}},key:"298E"},{category:"Ps",mappings:{"default":{"default":"left square bracket with tick in bottom corner"}},key:"298F"},{category:"Pe",mappings:{"default":{"default":"right square bracket with tick in top corner"}},key:"2990"},{category:"Ps",mappings:{"default":{"default":"left angle bracket with dot"}}, +key:"2991"},{category:"Pe",mappings:{"default":{"default":"right angle bracket with dot"}},key:"2992"},{category:"Ps",mappings:{"default":{"default":"left arc less than bracket"}},key:"2993"},{category:"Pe",mappings:{"default":{"default":"right arc greater than bracket"}},key:"2994"},{category:"Ps",mappings:{"default":{"default":"double left arc greater than bracket"}},key:"2995"},{category:"Pe",mappings:{"default":{"default":"double right arc less than bracket"}},key:"2996"},{category:"Ps",mappings:{"default":{"default":"left black tortoise shell bracket"}}, +key:"2997"},{category:"Pe",mappings:{"default":{"default":"right black tortoise shell bracket"}},key:"2998"},{category:"Ps",mappings:{"default":{"default":"left wiggly fence"}},key:"29D8"},{category:"Pe",mappings:{"default":{"default":"right wiggly fence"}},key:"29D9"},{category:"Ps",mappings:{"default":{"default":"left double wiggly fence"}},key:"29DA"},{category:"Pe",mappings:{"default":{"default":"right double wiggly fence"}},key:"29DB"},{category:"Ps",mappings:{"default":{"default":"left pointing curved angle bracket"}}, +key:"29FC"},{category:"Pe",mappings:{"default":{"default":"right pointing curved angle bracket"}},key:"29FD"},{category:"Ps",mappings:{"default":{"default":"top left half bracket"}},key:"2E22"},{category:"Pe",mappings:{"default":{"default":"top right half bracket"}},key:"2E23"},{category:"Ps",mappings:{"default":{"default":"bottom left half bracket"}},key:"2E24"},{category:"Pe",mappings:{"default":{"default":"bottom right half bracket"}},key:"2E25"},{category:"Ps",mappings:{"default":{"default":"left sideways u bracket"}}, +key:"2E26"},{category:"Pe",mappings:{"default":{"default":"right sideways u bracket"}},key:"2E27"},{category:"Ps",mappings:{"default":{"default":"left double parenthesis"}},key:"2E28"},{category:"Pe",mappings:{"default":{"default":"right double parenthesis"}},key:"2E29"},{category:"Ps",mappings:{"default":{"default":"left angle bracket",alternative:"opening angle bracket"}},key:"3008"},{category:"Pe",mappings:{"default":{"default":"right angle bracket",alternative:"closing angle bracket"}},key:"3009"}, +{category:"Ps",mappings:{"default":{"default":"left double angle bracket",alternative:"opening double angle bracket"}},key:"300A"},{category:"Pe",mappings:{"default":{"default":"right double angle bracket",alternative:"closing double angle bracket"}},key:"300B"},{category:"Ps",mappings:{"default":{"default":"left corner bracket",alternative:"opening corner bracket"}},key:"300C"},{category:"Pe",mappings:{"default":{"default":"right corner bracket",alternative:"closing corner bracket"}},key:"300D"}, +{category:"Ps",mappings:{"default":{"default":"left white corner bracket",alternative:"opening white corner bracket"}},key:"300E"},{category:"Pe",mappings:{"default":{"default":"right white corner bracket",alternative:"closing white corner bracket"}},key:"300F"},{category:"Ps",mappings:{"default":{"default":"left black lenticular bracket",alternative:"opening black lenticular bracket"}},key:"3010"},{category:"Pe",mappings:{"default":{"default":"right black lenticular bracket",alternative:"closing black lenticular bracket"}}, +key:"3011"},{category:"Ps",mappings:{"default":{"default":"left tortoise shell bracket",alternative:"opening tortoise shell bracket"}},key:"3014"},{category:"Pe",mappings:{"default":{"default":"right tortoise shell bracket",alternative:"closing tortoise shell bracket"}},key:"3015"},{category:"Ps",mappings:{"default":{"default":"left white lenticular bracket",alternative:"opening white lenticular bracket"}},key:"3016"},{category:"Pe",mappings:{"default":{"default":"right white lenticular bracket", +alternative:"closing white lenticular bracket"}},key:"3017"},{category:"Ps",mappings:{"default":{"default":"left white tortoise shell bracket",alternative:"opening white tortoise shell bracket"}},key:"3018"},{category:"Pe",mappings:{"default":{"default":"right white tortoise shell bracket",alternative:"closing white tortoise shell bracket"}},key:"3019"},{category:"Ps",mappings:{"default":{"default":"left white square bracket",alternative:"opening white square bracket"}},key:"301A"},{category:"Pe", +mappings:{"default":{"default":"right white square bracket",alternative:"closing white square bracket"}},key:"301B"},{category:"Ps",mappings:{"default":{"default":"reversed double prime quotation mark"}},key:"301D"},{category:"Pe",mappings:{"default":{"default":"double prime quotation mark"}},key:"301E"},{category:"Pe",mappings:{"default":{"default":"low double prime quotation mark"}},key:"301F"},{category:"Ps",mappings:{"default":{"default":"ornate left parenthesis"}},key:"FD3E"},{category:"Pe", +mappings:{"default":{"default":"ornate right parenthesis"}},key:"FD3F"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left white lenticular bracket"}},key:"FE17"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right white lenticular bracket"}},key:"FE18"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left parenthesis",alternative:"glyph for vertical opening parenthesis"}},key:"FE35"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right parenthesis", +alternative:"glyph for vertical closing parenthesis"}},key:"FE36"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left curly bracket",alternative:"glyph for vertical opening curly bracket"}},key:"FE37"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right curly bracket",alternative:"glyph for vertical closing curly bracket"}},key:"FE38"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left tortoise shell bracket", +alternative:"glyph for vertical opening tortoise shell bracket"}},key:"FE39"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right tortoise shell bracket",alternative:"glyph for vertical closing tortoise shell bracket"}},key:"FE3A"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left black lenticular bracket",alternative:"glyph for vertical opening black lenticular bracket"}},key:"FE3B"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right black lenticular bracket", +alternative:"glyph for vertical closing black lenticular bracket"}},key:"FE3C"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left double angle bracket",alternative:"glyph for vertical opening double angle bracket"}},key:"FE3D"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right double angle bracket",alternative:"glyph for vertical closing double angle bracket"}},key:"FE3E"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left angle bracket", +alternative:"glyph for vertical opening angle bracket"}},key:"FE3F"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right angle bracket",alternative:"glyph for vertical closing angle bracket"}},key:"FE40"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left corner bracket",alternative:"glyph for vertical opening corner bracket"}},key:"FE41"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right corner bracket", +alternative:"glyph for vertical closing corner bracket"}},key:"FE42"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left white corner bracket",alternative:"glyph for vertical opening white corner bracket"}},key:"FE43"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right white corner bracket",alternative:"glyph for vertical closing white corner bracket"}},key:"FE44"},{category:"Ps",mappings:{"default":{"default":"presentation form for vertical left square bracket"}}, +key:"FE47"},{category:"Pe",mappings:{"default":{"default":"presentation form for vertical right square bracket"}},key:"FE48"},{category:"Ps",mappings:{"default":{"default":"small left parenthesis",alternative:"small opening parenthesis"}},key:"FE59"},{category:"Pe",mappings:{"default":{"default":"small right parenthesis",alternative:"small closing parenthesis"}},key:"FE5A"},{category:"Ps",mappings:{"default":{"default":"small left curly bracket",alternative:"small opening curly bracket"}},key:"FE5B"}, +{category:"Pe",mappings:{"default":{"default":"small right curly bracket",alternative:"small closing curly bracket"}},key:"FE5C"},{category:"Ps",mappings:{"default":{"default":"small left tortoise shell bracket",alternative:"small opening tortoise shell bracket"}},key:"FE5D"},{category:"Pe",mappings:{"default":{"default":"small right tortoise shell bracket",alternative:"small closing tortoise shell bracket"}},key:"FE5E"},{category:"Ps",mappings:{"default":{"default":"fullwidth left parenthesis",alternative:"fullwidth opening parenthesis"}}, +key:"FF08"},{category:"Pe",mappings:{"default":{"default":"fullwidth right parenthesis",alternative:"fullwidth closing parenthesis"}},key:"FF09"},{category:"Ps",mappings:{"default":{"default":"fullwidth left square bracket",alternative:"fullwidth opening square bracket"}},key:"FF3B"},{category:"Pe",mappings:{"default":{"default":"fullwidth right square bracket",alternative:"fullwidth closing square bracket"}},key:"FF3D"},{category:"Ps",mappings:{"default":{"default":"fullwidth left curly bracket", +alternative:"fullwidth opening curly bracket"}},key:"FF5B"},{category:"Pe",mappings:{"default":{"default":"fullwidth right curly bracket",alternative:"fullwidth closing curly bracket"}},key:"FF5D"},{category:"Ps",mappings:{"default":{"default":"fullwidth left white parenthesis"}},key:"FF5F"},{category:"Pe",mappings:{"default":{"default":"fullwidth right white parenthesis"}},key:"FF60"},{category:"Ps",mappings:{"default":{"default":"halfwidth left corner bracket",alternative:"halfwidth opening corner bracket"}}, +key:"FF62"},{category:"Pe",mappings:{"default":{"default":"halfwidth right corner bracket",alternative:"halfwidth closing corner bracket"}},key:"FF63"}]; +cvox.AndroidMathMap.FUNCTION_MAPPINGS_=[{category:"Elementary",mappings:{"default":{"default":"logarithm",alternative:"logarithm function","short":"log"}},key:"log",names:["log"]},{category:"Elementary",mappings:{"default":{"default":"natural logarithm",alternative:"natural logarithm function","short":"natural log"}},key:"ln",names:["ln"]},{category:"Elementary",mappings:{"default":{"default":"logarithm base 10","short":"log base 10"}},key:"lg",names:["lg"]},{category:"Elementary",mappings:{"default":{"default":"exponential", +alternative:"exponential function","short":"exp"}},key:"exp",names:["exp","expt"]},{category:"Elementary",mappings:{"default":{"default":"greatest common divisor","short":"gcd"}},key:"gcd",names:["gcd"]},{category:"Elementary",mappings:{"default":{"default":"least common multiple","short":"lcm"}},key:"gcd",names:["gcd"]},{category:"Complex",mappings:{"default":{"default":"argument","short":"arg"}},key:"arg",names:["arg"]},{category:"Complex",mappings:{"default":{"default":"imaginary part","short":"imaginary"}}, +key:"im",names:["im"]},{category:"Complex",mappings:{"default":{"default":"real part","short":"real"}},key:"re",names:["re"]},{category:"Limits",mappings:{"default":{"default":"infimum","short":"inf"}},key:"inf",names:["inf"]},{category:"Limits",mappings:{"default":{"default":"limit","short":"lim"}},key:"lim",names:["lim"]},{category:"Limits",mappings:{"default":{"default":"infimum default",alternative:"inferior limit","short":"liminf"}},key:"liminf",names:["lim inf"]},{category:"Limits",mappings:{"default":{"default":"supremum limit", +alternative:"superior limit","short":"limsup"}},key:"limsup",names:["lim sup"]},{category:"Limits",mappings:{"default":{"default":"maximum","short":"max"}},key:"max",names:["max"]},{category:"Limits",mappings:{"default":{"default":"minimum","short":"min"}},key:"min",names:["min"]},{category:"Limits",mappings:{"default":{"default":"supremum","short":"sup"}},key:"sup",names:["sup"]},{category:"Limits",mappings:{"default":{"default":"injective limit",alternative:"direct limit","short":"colimit"}},key:"injlim", +names:["injlim","inj lim"]},{category:"Limits",mappings:{"default":{"default":"projective limit",alternative:"inverse limit","short":"limit"}},key:"projlim",names:["projlim","proj lim"]},{category:"Elementary",mappings:{"default":{"default":"modulo","short":"mod"}},key:"mod",names:["mod"]},{category:"Probability",mappings:{"default":{"default":"probability"}},key:"Pr",names:["Pr"]},{category:"Trigonometric",mappings:{"default":{"default":"cosine function","short":"cosine"}},key:"cos",names:["cos", +"cosine"]},{category:"Trigonometric",mappings:{"default":{"default":"cotangent function","short":"cotangent"}},key:"cot",names:["cot"]},{category:"Trigonometric",mappings:{"default":{"default":"cosecant function","short":"cosecant"}},key:"csc",names:["csc"]},{category:"Trigonometric",mappings:{"default":{"default":"secant function","short":"secant"}},key:"sec",names:["sec"]},{category:"Trigonometric",mappings:{"default":{"default":"sine function",alternative:"sine function","short":"sine"}},key:"sin", +names:["sin","sine"]},{category:"Trigonometric",mappings:{"default":{"default":"tangent function","short":"tangent"}},key:"tan",names:["tan"]},{category:"Cyclometric",mappings:{"default":{"default":"inverse cosine function",alternative:"arc cosine function","short":"arc cosine"}},key:"arccos",names:["arccos"]},{category:"Cyclometric",mappings:{"default":{"default":"inverse cotangent function",alternative:"arc cotangent function","short":"arc cotangent"}},key:"arccot",names:["arccot"]},{category:"Cyclometric", +mappings:{"default":{"default":"inverse cosecant function",alternative:"arc cosecant function","short":"arc cosecant"}},key:"arccsc",names:["arccsc"]},{category:"Cyclometric",mappings:{"default":{"default":"inverse secant function",alternative:"arc secant function","short":"arc secant"}},key:"arcsec",names:["arcsec"]},{category:"Cyclometric",mappings:{"default":{"default":"inverse sine function",alternative:"arc sine function","short":"arc sine"}},key:"arcsin",names:["arcsin"]},{category:"Cyclometric", +mappings:{"default":{"default":"inverse tangent function",alternative:"arc tangent function","short":"arc tangent"}},key:"arctan",names:["arctan"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic cosine function","short":"hyperbolic cosine"}},key:"cosh",names:["cosh"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic cotangent function","short":"hyperbolic cotangent"}},key:"coth",names:["coth"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic cosecant function", +"short":"hyperbolic cosecant"}},key:"csch",names:["csch"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic secant function","short":"hyperbolic secant"}},key:"sech",names:["sech"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic sine function","short":"hyperbolic sine"}},key:"sinh",names:["sinh"]},{category:"Hyperbolic",mappings:{"default":{"default":"hyperbolic tangent function","short":"hyperbolic tangent"}},key:"tanh",names:["tanh"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic cosine function", +alternative:"area hyperbolic cosine function","short":"area hyperbolic cosine"}},key:"arcosh",names:["arcosh","arccosh"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic cotangent function",alternative:"area hyperbolic cotangent function","short":"area hyperbolic cotangent"}},key:"arcoth",names:["arcoth","arccoth"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic cosecant function",alternative:"area hyperbolic cosecant function","short":"area hyperbolic cosecant"}}, +key:"arcsch",names:["arcsch","arccsch"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic secant function",alternative:"area hyperbolic secant function","short":"area hyperbolic secant"}},key:"arsech",names:["arsech","arcsech"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic sine function",alternative:"area hyperbolic sine function","short":"area hyperbolic sine"}},key:"arsinh",names:["arsinh","arcsinh"]},{category:"Area",mappings:{"default":{"default":"inverse hyperbolic tangent function", +alternative:"area hyperbolic tangent function","short":"area hyperbolic tangent"}},key:"artanh",names:["artanh","arctanh"]},{category:"Algebra",mappings:{"default":{"default":"degree"}},key:"deg",names:["deg"]},{category:"Algebra",mappings:{"default":{"default":"determinant","short":"det"}},key:"det",names:["det"]},{category:"Algebra",mappings:{"default":{"default":"dimension"}},key:"dim",names:["dim"]},{category:"Algebra",mappings:{"default":{"default":"homomorphism","short":"hom"}},key:"hom",names:["hom", +"Hom"]},{category:"Algebra",mappings:{"default":{"default":"kernel"}},key:"ker",names:["ker"]},{category:"Algebra",mappings:{"default":{"default":"trace"}},key:"Tr",names:["Tr","tr"]}];cvox.AndroidVox=function(){cvox.ChromeVox.navigationManager.ignoreIframesNoMatterWhat()};goog.exportSymbol("cvox.AndroidVox",cvox.AndroidVox); +cvox.AndroidVox.performAction=function(a){var b=JSON.parse(a);a=b.action;var c=b.granularity,b=b.element,d=cvox.SearchWidget.getInstance().isActive();16==c&&512==a&&(cvox.ChromeVox.navigationManager.setReversed(!1),cvox.ChromeVox.navigationManager.syncToBeginning(),cvox.ChromeVox.navigationManager.updateIndicator());if(16==c)return cvox.ChromeVoxUserCommands.commands.readFromHere(),!0;cvox.ChromeVoxUserCommands.commands.stopSpeech();if(256==a||512==a)d||cvox.ChromeVoxEventWatcher.setUpTextHandler(); +var e=cvox.ChromeVoxEventWatcher.currentTextHandler;e||document.activeElement==document.body||console.log("no text handler, but there is an active element",document.activeElement);if(e&&1==c){if(256==a)return e.moveCursorToNextCharacter();if(512==a)return e.moveCursorToPreviousCharacter()}else if(e&&2==c){if(256==a)return e.moveCursorToNextWord();if(512==a)return e.moveCursorToPreviousWord()}else if(e&&8==c){if(256==a)return e.moveCursorToNextParagraph();if(512==a)return e.moveCursorToPreviousParagraph()}else if(e&& +4==c){var f=!1;256==a?f=e.moveCursorToNextLine():512==a&&(f=e.moveCursorToPreviousLine());if(f)return!0}switch(c){case -1:return cvox.ChromeVox.navigationManager.finishNavCommand(""),!0;case -2:return cvox.ChromeVoxUserCommands.commands.readCurrentTitle(),!0;case -3:return!0;case -4:return 512==a?cvox.ChromeVoxUserCommands.commands.exitShifter():cvox.ChromeVoxUserCommands.commands.enterShifter(),!0;case -5:return cvox.SearchWidget.getInstance().toggle(),!0}if(-275999999<=c&&-275E6>=c){cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("element_clicked"), +cvox.AbstractTts.QUEUE_MODE_FLUSH,cvox.AbstractTts.PERSONALITY_ANNOTATION);a=cvox.ChromeVox.navigationManager.getBraille();b=-275E6-c;if(c=a.text.getSpan(b))a=b-a.text.getSpanStart(c),cvox.AndroidVox.performClickAction(c,a);return!0}if(0>c)return!1;e=[];e[8]=cvox.NavigationShifter.GRANULARITIES.GROUP;e[4]=cvox.NavigationShifter.GRANULARITIES.LINE;e[2]=cvox.NavigationShifter.GRANULARITIES.WORD;e[1]=cvox.NavigationShifter.GRANULARITIES.CHARACTER;d||(c=c?e[c]:cvox.NavigationShifter.GRANULARITIES.OBJECT, +cvox.ChromeVox.navigationManager.setGranularity(c));c=!1;switch(a){case 16:if(d)break;cvox.ChromeVox.tts.speak(cvox.ChromeVox.msgs.getMsg("element_clicked"),cvox.AbstractTts.QUEUE_MODE_FLUSH,cvox.AbstractTts.PERSONALITY_ANNOTATION);(c=cvox.ChromeVox.navigationManager.getCurrentNode())&&cvox.AndroidVox.performClickAction(c);c=!0;break;case 1024:switch(b){case "SECTION":c=!cvox.ChromeVoxUserCommands.commands.nextSection();break;case "LIST":c=!cvox.ChromeVoxUserCommands.commands.nextList();break;case "CONTROL":c= +!cvox.ChromeVoxUserCommands.commands.nextControl()}if(c)break;case 256:d?(cvox.SearchWidget.getInstance().nextResult(!1),c=!0):c=!cvox.ChromeVoxUserCommands.commands.forward();break;case 2048:switch(b){case "SECTION":c=!cvox.ChromeVoxUserCommands.commands.previousSection();break;case "LIST":c=!cvox.ChromeVoxUserCommands.commands.previousList();break;case "CONTROL":c=!cvox.ChromeVoxUserCommands.commands.previousControl()}if(c)break;case 512:d?(cvox.SearchWidget.getInstance().nextResult(!0),c=!0):c= +!cvox.ChromeVoxUserCommands.commands.backward()}return c};goog.exportSymbol("cvox.AndroidVox.performAction",cvox.AndroidVox.performAction); +cvox.AndroidVox.performClickAction=function(a,b){cvox.ChromeVox.navigationManager.getCurrentNode()!=a&&cvox.ApiImplementation.syncToNode(a,!1);cvox.Focuser.setFocus(a);var c=cvox.DomUtil.isInputTypeText(a)||a instanceof HTMLTextAreaElement;if(goog.isDef(b)&&c){var d=cvox.BrailleUtil.getTemplated(null,a),c=d.getSpanInstanceOf(cvox.BrailleUtil.ValueSpan),e=d.getSpanStart(c),d=d.getSpanEnd(c);e<=b&&b<=d&&(c=b-e+c.offset,a.selectionStart=a.selectionEnd=c,cvox.ChromeVoxEventWatcher.handleTextChanged(!0))}cvox.DomUtil.clickElem(a, +!1,!0)};cvox.AndroidHost=function(){};goog.inherits(cvox.AndroidHost,cvox.AbstractHost); +cvox.AndroidHost.prototype.init=function(){cvox.ChromeVox.version="AndroidVox";var a=cvox.AndroidKeyMap.getStringifiedKeyMap();cvox.ChromeVoxKbHandler.loadKeyToFunctionsTable(a);cvox.ApiImplementation.siteSpecificScriptLoader="";cvox.ApiImplementation.siteSpecificScriptBase="";cvox.ApiImplementation.init();cvox.ChromeVox.earcons.earconsAvailable()&&(cvox.ChromeVox.verbosity=cvox.VERBOSITY_BRIEF);new cvox.AndroidMathMap;cvox.InitialSpeech.speak()};cvox.AndroidHost.prototype.reinit=function(){}; +cvox.AndroidHost.prototype.onPageLoad=function(){cvox.ChromeVoxEventWatcher.focusFollowsMouse=!0;cvox.ChromeVoxEventWatcher.mouseoverDelayMs=0};cvox.AndroidHost.prototype.ttsLoaded=function(){return"undefined"!=typeof accessibility};cvox.AndroidHost.prototype.getApiSrc=function(){return""};cvox.AndroidHost.prototype.hasTtsCallback=function(){return!1};cvox.AndroidHost.prototype.mustRedispatchClickEvent=function(){return!0}; +cvox.AndroidHost.prototype.activateOrDeactivateChromeVox=function(a){cvox.ChromeVox.tts.stop();cvox.AndroidHost.superClass_.activateOrDeactivateChromeVox.call(this,a);this.onPageLoad()};goog.exportSymbol("cvox.AndroidHost.prototype.activateOrDeactivateChromeVox",cvox.AndroidHost.prototype.activateOrDeactivateChromeVox);cvox.HostFactory.hostConstructor=cvox.AndroidHost;window.cvox||(window.cvox={});cvox.MathJaxExternalUtil=function(){};cvox.MathJaxExternalUtil.mmlAttr=function(){return""}; +cvox.MathJaxExternalUtil.mfenced=function(a){null==a&&(a="");var b=[a+'<mrow mfenced="true"'+this.toMathMLattributes()+">"],c=a+" ";this.data.open&&b.push(this.data.open.toMathML(c));null!=this.data[0]&&b.push(this.data[0].toMathML(c));for(var d=1,e=this.data.length;d<e;d++)this.data[d]&&(this.data["sep"+d]&&b.push(this.data["sep"+d].toMathML(c)),b.push(this.data[d].toMathML(c)));this.data.close&&b.push(this.data.close.toMathML(c));b.push(a+"</mrow>");return b.join("\n")}; +cvox.MathJaxExternalUtil.getMathml=function(a,b){var c=MathJax.ElementJax.mml.mbase.prototype,d=MathJax.ElementJax.mml.mfenced.prototype;this.mmlAttr=c.toMathMLattributes;var e=d.toMathML;try{c.toMathMLattributes=cvox.MathJaxExternalUtil.mbase;d.toMathML=cvox.MathJaxExternalUtil.mfenced;var f=a.root.toMathML("");c.toMathMLattributes=this.mmlAttr;d.toMathML=e;MathJax.Callback(b)(f)}catch(g){c.toMathMLattributes=this.mmlAttr;d.toMathML=e;if(!g.restart)throw g;return MathJax.Callback.After([cvox.MathJaxExternalUtil.getMathml, +a,b],g.restart)}};cvox.MathJaxExternalUtil.mbase=function(){var a=cvox.MathJaxExternalUtil.mmlAttr.call(this);if(null!=this.spanID)var b=(this.id||"MathJax-Span-"+this.spanID)+MathJax.OutputJax["HTML-CSS"].idPostfix,a=a+(' spanID="'+b+'"');null!=this.texClass&&(a+=' texClass="'+this.texClass+'"');return a};cvox.MathJaxExternalUtil.isActive=function(){return"undefined"!=typeof MathJax&&"undefined"!=typeof MathJax.Hub&&"undefined"!=typeof MathJax.ElementJax&&"undefined"!=typeof MathJax.InputJax}; +cvox.MathJaxExternalUtil.getMathjaxCallback_=function(a,b){cvox.MathJaxExternalUtil.getMathml(b,function(c){b.root.inputID&&a(c,b.root.inputID)})};cvox.MathJaxExternalUtil.registerSignal=function(a,b){MathJax.Hub.Register.MessageHook(b,function(b){b=MathJax.Hub.getJaxFor(b[1]);cvox.MathJaxExternalUtil.getMathjaxCallback_(a,b)})};cvox.MathJaxExternalUtil.getAllJax=function(a){var b=MathJax.Hub.getAllJax();b&&b.forEach(function(b){b.root.spanID&&cvox.MathJaxExternalUtil.getMathjaxCallback_(a,b)})}; +cvox.MathJaxExternalUtil.injectConfigScript=function(){var a=document.createElement("script");a.setAttribute("type","text/x-mathjax-config");a.textContent='MathJax.Hub.Config({\n jax: ["input/AsciiMath", "input/TeX"],\n extensions: ["toMathML.js"],\n skipStartupTypeset: true,\n messageStyle: "none",\n TeX: {extensions: ["AMSmath.js","AMSsymbols.js"]}\n});\nMathJax.Hub.Queue(\n function() {MathJax.Hub.inputJax["math/asciimath"].Process();\n MathJax.Hub.inputJax["math/tex"].Process()}\n);\n//\n// Prevent these from being loaded\n//\nif (!MathJax.Extension.MathMenu) {MathJax.Extension.MathMenu = {}};\nif (!MathJax.Extension.MathZoom) {MathJax.Extension.MathZoom = {}};'; +document.activeElement.appendChild(a)};cvox.MathJaxExternalUtil.injectLoadScript=function(){var a=document.createElement("script");a.setAttribute("type","text/javascript");a.setAttribute("src","http://cdn.mathjax.org/mathjax/latest/MathJax.js");document.activeElement.appendChild(a)}; +cvox.MathJaxExternalUtil.configMediaWiki=function(){mediaWiki&&MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){var a=MathJax.ElementJax.mml;MathJax.Hub.Insert(MathJax.InputJax.TeX.Definitions,{mathchar0mi:{thetasym:"03B8",koppa:"03DF",stigma:"03DB",varstigma:"03DB",coppa:"03D9",varcoppa:"03D9",sampi:"03E1",C:["0043",{mathvariant:a.VARIANT.DOUBLESTRUCK}],cnums:["0043",{mathvariant:a.VARIANT.DOUBLESTRUCK}],Complex:["0043",{mathvariant:a.VARIANT.DOUBLESTRUCK}],H:["210D",{mathvariant:a.VARIANT.DOUBLESTRUCK}], +N:["004E",{mathvariant:a.VARIANT.DOUBLESTRUCK}],natnums:["004E",{mathvariant:a.VARIANT.DOUBLESTRUCK}],Q:["0051",{mathvariant:a.VARIANT.DOUBLESTRUCK}],R:["0052",{mathvariant:a.VARIANT.DOUBLESTRUCK}],reals:["0052",{mathvariant:a.VARIANT.DOUBLESTRUCK}],Reals:["0052",{mathvariant:a.VARIANT.DOUBLESTRUCK}],Z:["005A",{mathvariant:a.VARIANT.DOUBLESTRUCK}],sect:"00A7",P:"00B6",AA:["00C5",{mathvariant:a.VARIANT.NORMAL}],alef:["2135",{mathvariant:a.VARIANT.NORMAL}],alefsym:["2135",{mathvariant:a.VARIANT.NORMAL}], +weierp:["2118",{mathvariant:a.VARIANT.NORMAL}],real:["211C",{mathvariant:a.VARIANT.NORMAL}],part:["2202",{mathvariant:a.VARIANT.NORMAL}],infin:["221E",{mathvariant:a.VARIANT.NORMAL}],empty:["2205",{mathvariant:a.VARIANT.NORMAL}],O:["2205",{mathvariant:a.VARIANT.NORMAL}],ang:["2220",{mathvariant:a.VARIANT.NORMAL}],exist:["2203",{mathvariant:a.VARIANT.NORMAL}],clubs:["2663",{mathvariant:a.VARIANT.NORMAL}],diamonds:["2662",{mathvariant:a.VARIANT.NORMAL}],hearts:["2661",{mathvariant:a.VARIANT.NORMAL}], +spades:["2660",{mathvariant:a.VARIANT.NORMAL}],textvisiblespace:"2423",geneuro:"20AC",euro:"20AC"},mathchar0mo:{and:"2227",or:"2228",bull:"2219",plusmn:"00B1",sdot:"22C5",Dagger:"2021",sup:"2283",sub:"2282",supe:"2287",sube:"2286",isin:"2208",hAar:"21D4",hArr:"21D4",Harr:"21D4",Lrarr:"21D4",lrArr:"21D4",lArr:"21D0",Larr:"21D0",rArr:"21D2",Rarr:"21D2",harr:"2194",lrarr:"2194",larr:"2190",gets:"2190",rarr:"2192",oiint:["222F",{texClass:a.TEXCLASS.OP}],oiiint:["2230",{texClass:a.TEXCLASS.OP}]},mathchar7:{Alpha:"0391", +Beta:"0392",Epsilon:"0395",Zeta:"0396",Eta:"0397",Iota:"0399",Kappa:"039A",Mu:"039C",Nu:"039D",Omicron:"039F",Rho:"03A1",Tau:"03A4",Chi:"03A7",Koppa:"03DE",Stigma:"03DA",Digamma:"03DC",Coppa:"03D8",Sampi:"03E0"},delimiter:{"\\uarr":"2191","\\darr":"2193","\\Uarr":"21D1","\\uArr":"21D1","\\Darr":"21D3","\\dArr":"21D3","\\rang":"27E9","\\lang":"27E8"},macros:{sgn:"NamedFn",arccot:"NamedFn",arcsec:"NamedFn",arccsc:"NamedFn",sen:"NamedFn",image:["Macro","\\Im"],bold:["Macro","\\mathbf{#1}",1],pagecolor:["Macro", +"",1],emph:["Macro","\\textit{#1}",1],textsf:["Macro","\\mathord{\\sf{\\text{#1}}}",1],texttt:["Macro","\\mathord{\\tt{\\text{#1}}}",1],vline:["Macro","\\smash{\\large\\lvert}",0]}})})}; +cvox.MathJaxExternalUtil.convertToMml=function(a,b,c,d,e,f){var g=MathJax.HTML.Element("script",{type:c},[b]),g={math:b,script:g};MathJax.InputJax[d].prefilterHooks.Execute(g);var h;try{h=f(g.math)}catch(k){if(k[e])h=MathJax.ElementJax.mml.merror(k.message.replace(/\n.*/,""));else{if(k.restart)return MathJax.Callback.After([cvox.MathJaxExternalUtil.convertToMml,a,b,c,d,e,f],k.restart);throw k;}}h=h.inferred?MathJax.ElementJax.mml.apply(MathJax.ElementJax,h.data):MathJax.ElementJax.mml(h);h.root.display= +"block";g.math=h;g.script.MathJax={};MathJax.InputJax[d].postfilterHooks.Execute(g);return cvox.MathJaxExternalUtil.getMathml(g.math,a)};cvox.MathJaxExternalUtil.texToMml=function(a,b){cvox.MathJaxExternalUtil.convertToMml(a,b,"math/tex;mode=display","TeX","texError",function(a){return MathJax.InputJax.TeX.Parse(a).mml()})};cvox.MathJaxExternalUtil.asciiMathToMml=function(a,b){cvox.MathJaxExternalUtil.convertToMml(a,b,"math/asciimath","AsciiMath","asciimathError",MathJax.InputJax.AsciiMath.AM.parseMath)};cvox.AndroidMathJax=function(){this.altMathNodeId_=0};goog.inherits(cvox.AndroidMathJax,cvox.AbstractMathJax);cvox.AndroidMathJax.prototype.getMathmlToDomCallback_=function(a){return goog.bind(function(b,c){return this.convertMarkupToDom(a,b,c)},this)};cvox.AndroidMathJax.prototype.isMathjaxActive=function(a){var b=0,c=function(){b++;cvox.MathJaxExternalUtil.isActive()?a(!0):5>b&&setTimeout(c,1E3)};c()};cvox.AndroidMathJax.prototype.getAllJax=function(a){cvox.MathJaxExternalUtil.getAllJax(this.getMathmlToDomCallback_(a))}; +cvox.AndroidMathJax.prototype.registerSignal=function(a,b){cvox.MathJaxExternalUtil.registerSignal(this.getMathmlToDomCallback_(a),b)};cvox.AndroidMathJax.prototype.injectScripts=function(){cvox.MathJaxExternalUtil.injectConfigScript();cvox.MathJaxExternalUtil.injectLoadScript()};cvox.AndroidMathJax.prototype.configMediaWiki=function(){cvox.MathJaxExternalUtil.configMediaWiki()}; +cvox.AndroidMathJax.prototype.getTex=function(a,b){var c=b.alt||b.title;if(c){var d="cvoxId-"+this.altMathNodeId_++;b.setAttribute("cvoxId",d);cvox.MathJaxExternalUtil.texToMml(goog.bind(function(b){this.convertMarkupToDom(a,b,d)},this),c)}};cvox.AndroidMathJax.prototype.getAsciiMath=function(a,b){var c=b.alt||b.title;if(c){var d="cvoxId-"+this.altMathNodeId_++;b.setAttribute("cvoxId",d);cvox.MathJaxExternalUtil.asciiMathToMml(goog.bind(function(b){this.convertMarkupToDom(a,b,d)},this),c)}}; +cvox.HostFactory.mathJaxConstructor=cvox.AndroidMathJax;cvox.AndroidTts=function(){cvox.AbstractTts.call(this);this.ttsProperties.rate=0.5;this.ttsProperties.pitch=0.5;this.ttsProperties.volume=1};goog.inherits(cvox.AndroidTts,cvox.AbstractTts);cvox.AndroidTts.prototype.speak=function(a,b,c){cvox.AndroidTts.superClass_.speak.call(this,a,b,c);c=this.mergeProperties(c);accessibility.speak(a,b,c);return this};cvox.AndroidTts.prototype.isSpeaking=function(){cvox.AndroidTts.superClass_.isSpeaking.call(this);return accessibility.isSpeaking()}; +cvox.AndroidTts.prototype.stop=function(){cvox.AndroidTts.superClass_.stop.call(this);accessibility.stop()};cvox.HostFactory.ttsConstructor=cvox.AndroidTts;cvox.TestMessages={locale:{message:"en"},chromevox_name:{message:"ChromeVox"},chromevox_description:{message:"ChromeVox - Giving Voice to Chrome"},chromevox_stop_speech_key:{message:"Stop speech"},chromevox_toggle_sticky_mode:{message:"Enable/Disable sticky mode"},chromevox_prefix_key:{message:"Prefix key"},chromevox_handle_tab_next:{message:"Jump to next focusable item"},chromevox_handle_tab_prev:{message:"Jump to previous focusable item"},chromevox_backward:{message:"Navigate backward"},chromevox_forward:{message:"Navigate forward"}, +chromevox_left:{message:"Move left"},chromevox_right:{message:"Move right"},chromevox_skip_backward:{message:"Skip backward during continuous reading"},chromevox_skip_forward:{message:"Skip forward during continuous reading"},chromevox_previous_granularity:{message:"Decrease navigation granularity"},chromevox_next_granularity:{message:"Increase navigation granularity"},chromevox_act_on_current_item:{message:"Take action on current item"},chromevox_force_click_on_current_item:{message:"Click on current item"}, +chromevox_read_link_url:{message:"Announce the URL behind a link"},chromevox_read_current_title:{message:"Announce the title of the current page"},chromevox_read_current_url:{message:"Announce the URL of the current page"},chromevox_read_from_here:{message:"Start reading from current location"},chromevox_show_power_key:{message:"Open ChromeVox keyboard help"},chromevox_hide_power_key:{message:"Hide ChromeVox help"},chromevox_power_key_help:{message:"Press up or down to review commands, press enter to activate"}, +chromevox_help:{message:"Open ChromeVox tutorial"},chromevox_toggle_search_widget:{message:"Toggle search widget"},chromevox_show_options_page:{message:"Open options page"},chromevox_show_kb_explorer_page:{message:"Open keyboard explorer"},chromevox_decrease_tts_rate:{message:"Decrease rate of speech"},chromevox_increase_tts_rate:{message:"Increase rate of speech"},chromevox_decrease_tts_pitch:{message:"Decrease pitch"},chromevox_increase_tts_pitch:{message:"Increase pitch"},chromevox_decrease_tts_volume:{message:"Decrease speech volume"}, +chromevox_increase_tts_volume:{message:"Increase speech volume"},chromevox_show_forms_list:{message:"Show forms list"},chromevox_show_headings_list:{message:"Show headings list"},chromevox_show_links_list:{message:"Show links list"},chromevox_show_tables_list:{message:"Show tables list"},chromevox_show_landmarks_list:{message:"Show landmarks list"},chromevox_previous_row:{message:"Previous table row"},chromevox_next_row:{message:"Next table row"},chromevox_previous_col:{message:"Previous table column"}, +chromevox_next_col:{message:"Next table column"},chromevox_announce_headers:{message:"Announce the headers of the current cell"},chromevox_speak_table_location:{message:"Announce current cell coordinates"},chromevox_guess_row_header:{message:"Make a guess at the row header of the current cell"},chromevox_guess_col_header:{message:"Make a guess at the column header of the current cell"},chromevox_skip_to_beginning:{message:"Go to beginning of table"},chromevox_skip_to_end:{message:"Go to end of table"}, +chromevox_skip_to_row_beginning:{message:"Go to beginning of the current row"},chromevox_skip_to_row_end:{message:"Go to end of the current row"},chromevox_skip_to_col_beginning:{message:"Go to beginning of the current column"},chromevox_skip_to_col_end:{message:"Go to end of the current column"},chromevox_next_heading1:{message:"Next level 1 heading"},chromevox_previous_heading1:{message:"Previous level 1 heading"},chromevox_next_heading2:{message:"Next level 2 heading"},chromevox_previous_heading2:{message:"Previous level 2 heading"}, +chromevox_next_heading3:{message:"Next level 3 heading"},chromevox_previous_heading3:{message:"Previous level 3 heading"},chromevox_next_heading4:{message:"Next level 4 heading"},chromevox_previous_heading4:{message:"Previous level 4 heading"},chromevox_next_heading5:{message:"Next level 5 heading"},chromevox_previous_heading5:{message:"Previous level 5 heading"},chromevox_next_heading6:{message:"Next level 6 heading"},chromevox_previous_heading6:{message:"Previous level 6 heading"},chromevox_next_combo_box:{message:"Next combo box"}, +chromevox_previous_combo_box:{message:"Previous combo box"},chromevox_next_edit_text:{message:"Next editable text area"},chromevox_previous_edit_text:{message:"Previous editable text area"},chromevox_next_form_field:{message:"Next form field"},chromevox_previous_form_field:{message:"Previous form field"},chromevox_next_graphic:{message:"Next graphic"},chromevox_previous_graphic:{message:"Previous graphic"},chromevox_next_heading:{message:"Next heading"},chromevox_previous_heading:{message:"Previous heading"}, +chromevox_next_list_item:{message:"Next list item"},chromevox_previous_list_item:{message:"Previous list item"},chromevox_next_jump:{message:"Next jump"},chromevox_previous_jump:{message:"Previous jump"},chromevox_next_link:{message:"Next link"},chromevox_previous_link:{message:"Previous link"},chromevox_next_list:{message:"Next list"},chromevox_previous_list:{message:"Previous list"},chromevox_next_math:{message:"Next math"},chromevox_previous_math:{message:"Previous math"},chromevox_next_media:{message:"Next media"}, +chromevox_previous_media:{message:"Previous media"},chromevox_next_blockquote:{message:"Next block quote"},chromevox_previous_blockquote:{message:"Previous block quote"},chromevox_next_radio:{message:"Next radio button"},chromevox_previous_radio:{message:"Previous radio button"},chromevox_next_slider:{message:"Next slider"},chromevox_previous_slider:{message:"Previous slider"},chromevox_next_table:{message:"Next table"},chromevox_next_visited_link:{message:"Next visited link"},chromevox_previous_table:{message:"Previous table"}, +chromevox_previous_visited_link:{message:"Previous visited link"},chromevox_next_button:{message:"Next button"},chromevox_previous_button:{message:"Previous button"},chromevox_next_checkbox:{message:"Next checkbox"},chromevox_previous_checkbox:{message:"Previous checkbox"},chromevox_next_landmark:{message:"Next landmark"},chromevox_previous_landmark:{message:"Previous landmark"},chromevox_benchmark:{message:"Debug benchmark"},chromevox_announce_position:{message:"Announces a brief description of the current position"}, +chromevox_fully_describe:{message:"Announces a complete description of the current position"},chromevox_options_page_title:{message:"ChromeVox Options"},chromevox_options_page_summary:{message:"Use the options below to customize ChromeVox. Changes take effect immediately."},chromevox_options_mouse_focus_follows:{message:"Use the mouse to change focus."},chromevox_options_site_specific_enhancements:{message:"Enhance specific sites (like Google Search)."},chromevox_options_verbosity_verbose:{message:"Enable verbose descriptions."}, +chromevox_options_cursor_between_characters:{message:"Place cursor between characters when editing text (like Mac OS X)."},chromevox_options_magnifier_show_checkbox:{message:"Show a magnified view of the page content."},chromevox_options_voices:{message:"Voices"},chromevox_options_voices_description:{message:"Change the current voice by selecting an option from the list below."},chromevox_options_braille:{message:"Braille"},chromevox_options_braille_table_type_6:{message:"Switch to 8 dot braille"}, +chromevox_options_braille_table_type_8:{message:"Switch to 6 dot braille"},chromevox_options_braille_description_6:{message:"Change the current 6 dot braille table by selecting an option from the list below."},chromevox_options_braille_locale_grade:{message:"$1, Grade $2",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_options_braille_description_8:{message:"Change the current 8 dot braille table by selecting an option from the list below."},chromevox_options_keyboard_shortcuts:{message:"Keyboard shortcuts"}, +chromevox_options_keymap_description:{message:"Change the current keymap by selecting an option from the list below."},chromevox_options_select_keys:{message:"Reset current keymap"},chromevox_options_shortcuts_description:{message:"Customize keyboard shortcuts for frequently used commands by typing them into the corresponding fields below."},chromevox_options_modifier_keys:{message:"Modifier keys"},chromevox_options_cvox_modifier_key:{message:"ChromeVox modifier key"},chromevox_kbexplorer_title:{message:"ChromeOS Keyboard Explorer"}, +chromevox_kbexplorer_instructions:{message:"Press any key to learn its name. Ctrl+W will close the keyboard explorer."},chromevox_chrome_system_need_restart:{message:"System was updated. Restart is recommended."},chromevox_chrome_brightness_changed:{message:"Brightness $1 percent",placeholders:{1:{content:"$1"}}},chromevox_chrome_tab_created:{message:"tab created"},chromevox_chrome_tab_selected:{message:"$1, tab",placeholders:{1:{content:"$1"}}},chromevox_chrome_normal_window_selected:{message:"window $1 tab", +placeholders:{1:{content:"$1"}}},chromevox_chrome_incognito_window_selected:{message:"incognito window $1 tab",placeholders:{1:{content:"$1"}}},chromevox_chrome_menu_opened:{message:"$1 menu opened",placeholders:{1:{content:"$1"}}},chromevox_describe_checkbox_checked:{message:"$1 checkbox checked",placeholders:{1:{content:"$1"}}},chromevox_checkbox_checked_state:{message:"checked"},chromevox_checkbox_checked_state_brl:{message:"x"},chromevox_describe_checkbox_unchecked:{message:"$1, checkbox not checked", +placeholders:{1:{content:"$1"}}},chromevox_checkbox_unchecked_state:{message:"not checked"},chromevox_checkbox_unchecked_state_brl:{message:" "},chromevox_describe_radio_selected:{message:"$1, radio button selected",placeholders:{1:{content:"$1"}}},chromevox_radio_selected_state:{message:"selected"},chromevox_radio_selected_state_brl:{message:"x"},chromevox_describe_radio_unselected:{message:"$1, radio button unselected",placeholders:{1:{content:"$1"}}},chromevox_radio_unselected_state:{message:"unselected"}, +chromevox_radio_unselected_state_brl:{message:" "},chromevox_describe_menu:{message:"$1, menu",placeholders:{1:{content:"$1"}}},chromevox_describe_menu_item:{message:"$1, menu item",placeholders:{1:{content:"$1"}}},chromevox_describe_menu_item_with_submenu:{message:"$1, menu item, with submenu",placeholders:{1:{content:"$1"}}},chromevox_describe_window:{message:"$1, window",placeholders:{1:{content:"$1"}}},chromevox_describe_textbox:{message:"$1, $2, text box",placeholders:{1:{content:"$1"},2:{content:"$2"}}}, +chromevox_describe_unnamed_textbox:{message:"$1, text box",placeholders:{1:{content:"$1"}}},chromevox_describe_password:{message:"$1, $2, password text box",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_describe_unnamed_password:{message:"$1, password text box",placeholders:{1:{content:"$1"}}},chromevox_describe_button:{message:"$1, button",placeholders:{1:{content:"$1"}}},chromevox_describe_combobox:{message:"$1, $2, combo box",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_describe_unnamed_combobox:{message:"$1, combo box", +placeholders:{1:{content:"$1"}}},chromevox_describe_listbox:{message:"$1, $2, list box",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_describe_unnamed_listbox:{message:"$1, list box",placeholders:{1:{content:"$1"}}},chromevox_describe_link:{message:"$1, link",placeholders:{1:{content:"$1"}}},chromevox_describe_tab:{message:"$1, tab",placeholders:{1:{content:"$1"}}},chromevox_describe_slider:{message:"$1, $2, slider",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_describe_selected:{message:", selected"}, +chromevox_describe_unselected:{message:", unselected"},chromevox_describe_index:{message:" $1 of $2 ",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_announce_rate:{message:"Rate $1 percent",placeholders:{1:{content:"$1"}}},chromevox_announce_pitch:{message:"Pitch $1 percent",placeholders:{1:{content:"$1"}}},chromevox_announce_volume:{message:"Volume $1 percent",placeholders:{1:{content:"$1"}}},chromevox_exiting_dialog:{message:"Exited dialog."},chromevox_exited_container:{message:"Exited $1.", +placeholders:{1:{content:"$1"}}},chromevox_entering_dialog:{message:"Entered dialog"},chromevox_live_regions_removed:{message:"removed:"},chromevox_sticky_mode_enabled:{message:"Sticky mode enabled"},chromevox_sticky_mode_disabled:{message:"Sticky mode disabled"},chromevox_keyboard_help_intro:{message:"Keyboard Help"},chromevox_context_menu_intro:{message:"Context Menu"},chromevox_choice_widget_name:{message:"$1 list.",placeholders:{1:{content:"$1"}}},chromevox_choice_widget_help:{message:"Use up and down arrow keys to browse, or type to search."}, +chromevox_choice_widget_exited:{message:"Exited"},chromevox_choice_widget_type_generic:{message:" "},chromevox_end_of_cell:{message:"End of cell."},chromevox_no_url_found:{message:"No URL found"},chromevox_leaving_table:{message:"Leaving table."},chromevox_leaving_grid:{message:"Leaving grid."},chromevox_inside_table:{message:"Inside table"},chromevox_no_tables:{message:"No table found."},chromevox_not_inside_table:{message:"Not inside table."},chromevox_no_cell_below:{message:"No cell below."},chromevox_no_cell_above:{message:"No cell above."}, +chromevox_no_cell_right:{message:"No cell right."},chromevox_no_cell_left:{message:"No cell left."},chromevox_empty_cell:{message:"Empty cell."},chromevox_spanned:{message:"Spanned."},chromevox_row_header:{message:"Row header:"},chromevox_empty_row_header:{message:"Empty row header"},chromevox_column_header:{message:"Column header:"},chromevox_empty_column_header:{message:"Empty column header"},chromevox_no_headers:{message:"No headers"},chromevox_empty_headers:{message:"Empty headers"},chromevox_table_location:{message:"Row $1 of $2, Column $3 of $4", +placeholders:{1:{content:"$1"},2:{content:"$2"},3:{content:"$3"},4:{content:"$4"}}},chromevox_no_next_checkbox:{message:"No next checkbox."},chromevox_no_previous_checkbox:{message:"No previous checkbox."},chromevox_no_next_edit_text:{message:"No next editable text field."},chromevox_no_previous_edit_text:{message:"No previous editable text field."},chromevox_no_next_heading:{message:"No next heading."},chromevox_no_previous_heading:{message:"No previous heading."},chromevox_no_next_heading_1:{message:"No next level 1 heading."}, +chromevox_no_previous_heading_1:{message:"No previous level 1 heading."},chromevox_no_next_heading_2:{message:"No next level 2 heading."},chromevox_no_previous_heading_2:{message:"No previous level 2 heading."},chromevox_no_next_heading_3:{message:"No next level 3 heading."},chromevox_no_previous_heading_3:{message:"No previous level 3 heading."},chromevox_no_next_heading_4:{message:"No next level 4 heading."},chromevox_no_previous_heading_4:{message:"No previous level 4 heading."},chromevox_no_next_heading_5:{message:"No next level 5 heading."}, +chromevox_no_previous_heading_5:{message:"No previous level 5 heading."},chromevox_no_next_heading_6:{message:"No next level 6 heading."},chromevox_no_previous_heading_6:{message:"No previous level 6 heading."},chromevox_no_next_not_link:{message:"No next item that isn't a link."},chromevox_no_previous_not_link:{message:"No previous item that isn't a link."},chromevox_no_next_anchor:{message:"No next anchor."},chromevox_no_previous_anchor:{message:"No previous anchor."},chromevox_no_next_link:{message:"No next link."}, +chromevox_no_previous_link:{message:"No previous link."},chromevox_no_next_table:{message:"No next table."},chromevox_no_previous_table:{message:"No previous table."},chromevox_no_next_visited_link:{message:"No next visited link."},chromevox_no_previous_visited_link:{message:"No previous visited link."},chromevox_no_next_math:{message:"No next math expression."},chromevox_no_previous_math:{message:"No previous math expression."},chromevox_no_next_media_widget:{message:"No next media widget."},chromevox_no_previous_media_widget:{message:"No previous media widget."}, +chromevox_no_next_list:{message:"No next list."},chromevox_no_previous_list:{message:"No previous list."},chromevox_no_next_list_item:{message:"No next list item."},chromevox_no_previous_list_item:{message:"No previous list item."},chromevox_no_next_blockquote:{message:"No next blockquote."},chromevox_no_previous_blockquote:{message:"No previous blockquote."},chromevox_no_next_form_field:{message:"No next form field."},chromevox_no_previous_form_field:{message:"No previous form field."},chromevox_no_next_jump:{message:"No next jump point."}, +chromevox_no_previous_jump:{message:"No previous jump point."},chromevox_no_next_landmark:{message:"No next ARIA landmark."},chromevox_no_previous_landmark:{message:"No previous ARIA landmark."},chromevox_no_next_combo_box:{message:"No next combo box."},chromevox_no_previous_combo_box:{message:"No previous combo box."},chromevox_no_next_button:{message:"No next button."},chromevox_no_previous_button:{message:"No previous button."},chromevox_no_next_graphic:{message:"No next graphic."},chromevox_no_previous_graphic:{message:"No previous graphic."}, +chromevox_no_next_slider:{message:"No next slider."},chromevox_no_previous_slider:{message:"No previous slider."},chromevox_no_next_radio_button:{message:"No next radio button."},chromevox_no_previous_radio_button:{message:"No previous radio button."},chromevox_no_next_section:{message:"No next section."},chromevox_no_previous_section:{message:"No previous section."},chromevox_no_next_control:{message:"No next control."},chromevox_no_previous_control:{message:"No previous control."},chromevox_element_clicked:{message:"Clicked"}, +chromevox_element_double_clicked:{message:"double clicked"},chromevox_powerkey_no_headings:{message:"No headings."},chromevox_powerkey_no_links:{message:"No links."},chromevox_powerkey_no_forms:{message:"No forms."},chromevox_powerkey_no_tables:{message:"No tables."},chromevox_powerkey_no_landmarks:{message:"No ARIA landmarks."},chromevox_powerkey_no_jumps:{message:"No jumps."},chromevox_list_position:{message:"$1 of $2",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_list_position_brl:{message:"$1/$2", +placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_aria_has_submenu:{message:"has submenu"},chromevox_aria_has_submenu_brl:{message:"+submnu"},chromevox_aria_has_popup:{message:"has pop up"},chromevox_aria_has_popup_brl:{message:"+popup"},chromevox_aria_value_min:{message:"Min $1",placeholders:{1:{content:"$1"}}},chromevox_aria_value_min_brl:{message:"min:$1",placeholders:{1:{content:"$1"}}},chromevox_aria_value_max:{message:"Max $1",placeholders:{1:{content:"$1"}}},chromevox_aria_value_max_brl:{message:"max:$1", +placeholders:{1:{content:"$1"}}},chromevox_aria_value_now:{message:"$1",placeholders:{1:{content:"$1"}}},chromevox_aria_value_now_brl:{message:"$1",placeholders:{1:{content:"$1"}}},chromevox_aria_role_alert:{message:"Alert"},chromevox_aria_role_alert_brl:{message:"alrt"},chromevox_aria_role_alertdialog:{message:"Alert dialog"},chromevox_aria_role_alertdialog_brl:{message:"alrt dlg"},chromevox_aria_role_button:{message:"Button"},chromevox_aria_role_button_brl:{message:"btn"},chromevox_aria_role_checkbox:{message:"Check box"}, +chromevox_aria_role_checkbox_brl:{message:"chx"},chromevox_aria_role_combobox:{message:"Combo box"},chromevox_aria_role_combobox_brl:{message:"cbx"},chromevox_aria_role_dialog:{message:"Dialog"},chromevox_aria_role_dialog_brl:{message:"dlg"},chromevox_aria_role_grid:{message:"Grid"},chromevox_aria_role_grid_brl:{message:"grd"},chromevox_aria_role_gridcell:{message:"Cell"},chromevox_aria_role_gridcell_brl:{message:"cl"},chromevox_aria_role_gridcell_pos:{message:"row $1 column $2",placeholders:{1:{content:"$1"}, +2:{content:"$2"}}},chromevox_aria_role_link:{message:"Link"},chromevox_aria_role_link_brl:{message:"lnk"},chromevox_aria_role_link_singular:{message:"1 link"},chromevox_aria_role_link_plural:{message:"$1 links",placeholders:{1:{content:"$1"}}},chromevox_aria_role_listbox:{message:"List box"},chromevox_aria_role_listbox_brl:{message:"lstbx"},chromevox_aria_role_log:{message:"Log"},chromevox_aria_role_log_brl:{message:"log"},chromevox_aria_role_marquee:{message:"Marquee"},chromevox_aria_role_marquee_brl:{message:"maqe"}, +chromevox_aria_role_menu:{message:"Menu"},chromevox_aria_role_menu_brl:{message:"mnu"},chromevox_aria_role_menubar:{message:"Menu bar"},chromevox_aria_role_menubar_brl:{message:"mnu br"},chromevox_aria_role_menuitem:{message:"Menu item"},chromevox_aria_role_menuitem_brl:{message:"mnu itm"},chromevox_aria_role_menuitemcheckbox:{message:"Menu item check box"},chromevox_aria_role_menuitemcheckbox_brl:{message:"mnu itm chx"},chromevox_aria_role_menuitemradio:{message:"Menu item radio button"},chromevox_aria_role_menuitemradio_brl:{message:"mnu itm rd"}, +chromevox_aria_role_option:{message:" "},chromevox_aria_role_option_brl:{message:" "},chromevox_aria_role_popup_button:{message:"Pop-up button"},chromevox_aria_role_popup_button_brl:{message:"pup btn"},chromevox_aria_role_progressbar:{message:"Progress bar"},chromevox_aria_role_progressbar_brl:{message:"prog br"},chromevox_aria_role_radio:{message:"Radio button"},chromevox_aria_role_radio_brl:{message:"rd"},chromevox_aria_role_radiogroup:{message:"Radio button group"},chromevox_aria_role_radiogroup_brl:{message:"rd grp"}, +chromevox_aria_role_scrollbar:{message:"Scroll bar"},chromevox_aria_role_scrollbar_brl:{message:"scr br"},chromevox_aria_role_slider:{message:"Slider"},chromevox_aria_role_slider_brl:{message:"slr"},chromevox_aria_role_spinbutton:{message:"Spin button"},chromevox_aria_role_spinbutton_brl:{message:"spn btn"},chromevox_aria_role_status:{message:"Status"},chromevox_aria_role_status_brl:{message:"sts"},chromevox_aria_role_tab:{message:"Tab"},chromevox_aria_role_tab_brl:{message:"tab"},chromevox_aria_role_tabpanel:{message:"Tab panel"}, +chromevox_aria_role_tabpanel_brl:{message:"tab pnl"},chromevox_aria_role_textbox:{message:"Text box"},chromevox_aria_role_textbox_brl:{message:"txtbx"},chromevox_aria_role_timer:{message:"Timer"},chromevox_aria_role_timer_brl:{message:"tmr"},chromevox_aria_role_toolbar:{message:"Tool bar"},chromevox_aria_role_toolbar_brl:{message:"tl br"},chromevox_aria_role_tooltip:{message:"Tool tip"},chromevox_aria_role_tooltip_brl:{message:"tl tp"},chromevox_aria_role_treeitem:{message:"Tree item"},chromevox_aria_role_treeitem_brl:{message:"tr itm"}, +chromevox_aria_role_article:{message:"Article"},chromevox_aria_role_article_brl:{message:"acl"},chromevox_aria_role_application:{message:"Application"},chromevox_aria_role_application_brl:{message:"app"},chromevox_aria_role_banner:{message:"Banner"},chromevox_aria_role_banner_brl:{message:"bnr"},chromevox_aria_role_columnheader:{message:"Column header"},chromevox_aria_role_columnheader_brl:{message:"clm hd"},chromevox_aria_role_complementary:{message:"Complementary"},chromevox_aria_role_complementary_brl:{message:"cmpy"}, +chromevox_aria_role_contentinfo:{message:"Content info"},chromevox_aria_role_contentinfo_brl:{message:"cnt in"},chromevox_aria_role_definition:{message:"Definition"},chromevox_aria_role_definition_brl:{message:"def"},chromevox_aria_role_directory:{message:"Directory"},chromevox_aria_role_directory_brl:{message:"dir"},chromevox_aria_role_document:{message:"Document"},chromevox_aria_role_document_brl:{message:"doc"},chromevox_aria_role_form:{message:"Form"},chromevox_aria_role_form_brl:{message:"frm"}, +chromevox_aria_role_form_singular:{message:"1 form"},chromevox_aria_role_form_plural:{message:"$1 forms",placeholders:{1:{content:"$1"}}},chromevox_aria_role_group:{message:"Group"},chromevox_aria_role_group_brl:{message:"grp"},chromevox_aria_role_heading:{message:"Heading"},chromevox_aria_role_heading_brl:{message:"hd"},chromevox_aria_role_img:{message:"Image"},chromevox_aria_role_img_brl:{message:"img"},chromevox_aria_role_list:{message:"List"},chromevox_aria_role_list_brl:{message:"lst"},chromevox_aria_role_listitem:{message:"List item"}, +chromevox_aria_role_listitem_brl:{message:"lstitm"},chromevox_aria_role_main:{message:"Main"},chromevox_aria_role_main_brl:{message:"main"},chromevox_aria_role_math:{message:"Math"},chromevox_aria_role_math_brl:{message:"math"},chromevox_aria_role_navigation:{message:"Navigation"},chromevox_aria_role_navigation_brl:{message:"nav"},chromevox_aria_role_note:{message:"Note"},chromevox_aria_role_note_brl:{message:"note"},chromevox_aria_role_region:{message:"Region"},chromevox_aria_role_region_brl:{message:"rgn"}, +chromevox_aria_role_rowheader:{message:"Row header"},chromevox_aria_role_rowheader_brl:{message:"rw hd"},chromevox_aria_role_search:{message:"Search"},chromevox_aria_role_search_brl:{message:"srch"},chromevox_aria_role_separator:{message:"Separator"},chromevox_aria_role_separator_brl:{message:"sprtr"},chromevox_aria_autocomplete_inline:{message:"Autocompletion inline"},chromevox_aria_autocomplete_inline_brl:{message:"autocomplete"},chromevox_aria_autocomplete_list:{message:"Autocompletion list"}, +chromevox_aria_autocomplete_list_brl:{message:"autocomplete lst"},chromevox_aria_autocomplete_both:{message:"Autocompletion inline and list"},chromevox_aria_autocomplete_both_brl:{message:"autocomplete lst"},chromevox_aria_checked_true:{message:"Checked"},chromevox_aria_checked_true_brl:{message:"x"},chromevox_aria_checked_false:{message:"Not checked"},chromevox_aria_checked_false_brl:{message:" "},chromevox_aria_checked_mixed:{message:"Partially checked"},chromevox_aria_checked_mixed_brl:{message:"/x"}, +chromevox_aria_disabled_true:{message:"Disabled"},chromevox_aria_disabled_true_brl:{message:"="},chromevox_aria_expanded_true:{message:"Expanded"},chromevox_aria_expanded_true_brl:{message:">"},chromevox_aria_expanded_false:{message:"Collapsed"},chromevox_aria_expanded_false_brl:{message:"<"},chromevox_aria_invalid_true:{message:"Invalid input"},chromevox_aria_invalid_true_brl:{message:"!"},chromevox_aria_invalid_grammar:{message:"Grammatical mistake detected"},chromevox_aria_invalid_grammar_brl:{message:"Grammatical mistake detected"}, +chromevox_aria_invalid_spelling:{message:"Spelling mistake detected"},chromevox_aria_invalid_spelling_brl:{message:"misspelled"},chromevox_aria_multiline_true:{message:"Multi line"},chromevox_aria_multiline_true_brl:{message:"mult ln"},chromevox_aria_multiselectable_true:{message:"Multi select"},chromevox_aria_multiselectable_true_brl:{message:"mult sel"},chromevox_aria_pressed_true:{message:"Pressed"},chromevox_aria_pressed_true_brl:{message:"x"},chromevox_aria_pressed_false:{message:"Not pressed"}, +chromevox_aria_pressed_false_brl:{message:" "},chromevox_aria_pressed_mixed:{message:"Partially pressed"},chromevox_aria_pressed_mixed_brl:{message:"/x"},chromevox_aria_readonly_true:{message:"Read only"},chromevox_aria_readonly_true_brl:{message:"rdonly"},chromevox_aria_required_true:{message:"Required"},chromevox_aria_required_true_brl:{message:"req"},chromevox_aria_selected_true:{message:"Selected"},chromevox_aria_selected_true_brl:{message:"x"},chromevox_aria_selected_false:{message:"Not selected"}, +chromevox_aria_selected_false_brl:{message:" "},chromevox_tag_link:{message:"Link"},chromevox_tag_link_brl:{message:"lnk"},chromevox_tag_button:{message:"Button"},chromevox_tag_button_brl:{message:"btn"},chromevox_tag_h1:{message:"Heading 1"},chromevox_tag_h1_brl:{message:"h1"},chromevox_tag_h2:{message:"Heading 2"},chromevox_tag_h2_brl:{message:"h2"},chromevox_tag_h3:{message:"Heading 3"},chromevox_tag_h3_brl:{message:"h3"},chromevox_tag_h4:{message:"Heading 4"},chromevox_tag_h4_brl:{message:"h4"}, +chromevox_tag_h5:{message:"Heading 5"},chromevox_tag_h5_brl:{message:"h5"},chromevox_tag_h6:{message:"Heading 6"},chromevox_tag_h6_brl:{message:"h6"},chromevox_tag_li:{message:"List item"},chromevox_tag_li_brl:{message:"lstitm"},chromevox_tag_ol:{message:"Ordered List"},chromevox_tag_ol_brl:{message:"lst"},chromevox_tag_select:{message:"Combo box"},chromevox_tag_select_brl:{message:"cbx"},chromevox_tag_textarea:{message:"Text area"},chromevox_tag_textarea_brl:{message:"txta"},chromevox_tag_table:{message:"table"}, +chromevox_tag_table_brl:{message:"tbl"},chromevox_tag_ul:{message:"List"},chromevox_tag_ul_brl:{message:"lst"},chromevox_tag_section:{message:"Section"},chromevox_tag_section_brl:{message:"stn"},chromevox_tag_nav:{message:"Navigation"},chromevox_tag_nav_brl:{message:"nav"},chromevox_tag_article:{message:"Article"},chromevox_tag_article_brl:{message:"article"},chromevox_tag_aside:{message:"Aside"},chromevox_tag_aside_brl:{message:"aside"},chromevox_tag_hgroup:{message:"Heading group"},chromevox_tag_hgroup_brl:{message:"hgrp"}, +chromevox_tag_header:{message:"Header"},chromevox_tag_header_brl:{message:"hdr"},chromevox_tag_footer:{message:"Footer"},chromevox_tag_footer_brl:{message:"ftr"},chromevox_tag_time:{message:"Time"},chromevox_tag_time_brl:{message:" "},chromevox_tag_mark:{message:"Mark"},chromevox_tag_mark_brl:{message:"mark"},chromevox_tag_video:{message:"Video"},chromevox_tag_video_brl:{message:"video"},chromevox_tag_audio:{message:"Audio"},chromevox_tag_audio_brl:{message:"audio"},chromevox_input_type_button:{message:"Button"}, +chromevox_input_type_button_brl:{message:"btn"},chromevox_input_type_checkbox:{message:"Check box"},chromevox_input_type_checkbox_brl:{message:"chx"},chromevox_input_type_color:{message:"Color picker"},chromevox_input_type_color_brl:{message:"color picker"},chromevox_input_type_datetime:{message:"Date time control"},chromevox_input_type_datetime_brl:{message:"date time"},chromevox_input_type_datetime_local:{message:"Date time control"},chromevox_input_type_datetime_local_brl:{message:"date time"}, +chromevox_input_type_date:{message:"Date control"},chromevox_input_type_date_brl:{message:"date"},chromevox_input_type_email:{message:"Edit text, email entry"},chromevox_input_type_email_brl:{message:"edtxt email"},chromevox_input_type_file:{message:"File selection"},chromevox_input_type_file_brl:{message:"file"},chromevox_input_type_image:{message:"Button"},chromevox_input_type_image_brl:{message:"btn"},chromevox_input_type_month:{message:"Month control"},chromevox_input_type_month_brl:{message:"month"}, +chromevox_input_type_number:{message:"Edit text numeric only"},chromevox_input_type_number_brl:{message:"edtxt#"},chromevox_input_type_password:{message:"Password edit text"},chromevox_input_type_password_brl:{message:"pwd edtxt"},chromevox_input_type_radio:{message:"Radio button"},chromevox_input_type_radio_brl:{message:"rd btn"},chromevox_input_type_range:{message:"Slider"},chromevox_input_type_range_brl:{message:"slr"},chromevox_input_type_reset:{message:"Reset"},chromevox_input_type_reset_brl:{message:"reset"}, +chromevox_input_type_search:{message:"Edit text, search entry"},chromevox_input_type_search_brl:{message:"search edtxt"},chromevox_input_type_submit:{message:"Button"},chromevox_input_type_submit_brl:{message:"btn"},chromevox_input_type_tel:{message:"Edit text, number entry"},chromevox_input_type_tel_brl:{message:"tele# edtxt"},chromevox_input_type_text:{message:"Edit text"},chromevox_input_type_text_brl:{message:"edtxt"},chromevox_input_type_url:{message:"Edit text, URL entry"},chromevox_input_type_url_brl:{message:"url edtxt"}, +chromevox_input_type_week:{message:"Week of the year control"},chromevox_input_type_week_brl:{message:"week"},chromevox_internal_link:{message:"Internal link"},chromevox_internal_link_brl:{message:"int lnk"},chromevox_text_box_blank:{message:"Blank"},chromevox_list_with_items:{message:"with $1 items",placeholders:{1:{content:"$1"}}},chromevox_list_with_items_brl:{message:"+$1",placeholders:{1:{content:"$1"}}},chromevox_state_percent:{message:"$1%",placeholders:{1:{content:"$1"}}},chromevox_state_percent_brl:{message:"$1%", +placeholders:{1:{content:"$1"}}},chromevox_has_submenu:{message:"with submenu"},chromevox_has_submenu_brl:{message:"+submnu"},chromevox_has_popup:{message:"has popup"},chromevox_has_popup_brl:{message:"has popup"},chromevox_collection:{message:"$1 collection with $2 items",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_enter_key:{message:"Enter"},chromevox_space_key:{message:"Space"},chromevox_backspace_key:{message:"Backspace"},chromevox_tab_key:{message:"Tab"},chromevox_left_key:{message:"Left"}, +chromevox_up_key:{message:"Up"},chromevox_right_key:{message:"Right"},chromevox_down_key:{message:"Down"},chromevox_unknown_link:{message:"Unknown link"},chromevox_toggle_chromevox_active:{message:"Toggle ChromeVox active or inactive."},chromevox_chromevox_inactive:{message:"ChromeVox is now inactive."},chromevox_pause:{message:", "},chromevox_end:{message:". "},chromevox_previous_different_element:{message:"Previous different element."},chromevox_next_different_element:{message:"Next different element."}, +chromevox_previous_similar_element:{message:"Previous similar element."},chromevox_next_similar_element:{message:"Next similar element."},chromevox_no_more_similar_elements:{message:"No more similar elements."},chromevox_no_more_different_elements:{message:"No more different elements."},chromevox_index_total:{message:"$1 of $2",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_enter_css_space:{message:"Enter group exploration"},chromevox_enter_group_exploration:{message:"Exploring groups"}, +chromevox_pdf_header:{message:'This page contains the text automatically extracted from the PDF file <b>$1</b>. <a href="$2">Click here for the original.</a>',placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_object_strategy:{message:"Object"},chromevox_group_strategy:{message:"Group"},chromevox_table_strategy:{message:"Table"},chromevox_row_granularity:{message:"Row"},chromevox_column_granularity:{message:"Column"},chromevox_mathml_tree_granularity:{message:"Math ML Tree"},chromevox_mathml_layout_granularity:{message:"Math ML Layout"}, +chromevox_mathml_token_granularity:{message:"Math ML Token"},chromevox_mathml_leaf_granularity:{message:"Math ML Leaf"},chromevox_visual_strategy:{message:"Visual"},chromevox_custom_strategy:{message:"Custom"},chromevox_line_granularity:{message:"Line"},chromevox_sentence_granularity:{message:"Sentence"},chromevox_word_granularity:{message:"Word"},chromevox_character_granularity:{message:"Character"},chromevox_search_widget_intro:{message:"Find in page."},chromevox_search_widget_intro_help:{message:"Enter a search query."}, +chromevox_search_widget_outro:{message:"Exited find in page."},chromevox_search_widget_no_results:{message:"No more results."},chromevox_modifier_keys:{message:"Modifier Keys"},chromevox_navigation:{message:"ChromeVox Navigation"},chromevox_information:{message:"Information"},chromevox_help_commands:{message:"Help Commands"},chromevox_controlling_speech:{message:"Controlling Speech"},chromevox_overview:{message:"Overview"},chromevox_tables:{message:"Tables"},chromevox_jump_commands:{message:"Jump Commands"}, +chromevox_braille:{message:"Braille"},chromevox_developer:{message:"Developer"},chromevox_keymap_classic:{message:"Classic keymap"},chromevox_keymap_flat:{message:"Flat keymap"},chromevox_keymap_experimental:{message:"Experimental keymap"},chromevox_enable_tts_log:{message:"Enable TTS logging"},chromevox_begin_selection:{message:"Start selection"},chromevox_end_selection:{message:"End selection"},chromevox_selection_is:{message:"Selection is "},chromevox_toggle_selection:{message:"Start or end selection."}, +chromevox_copy:{message:"copy."},chromevox_cut:{message:"cut."},chromevox_paste:{message:"paste."},chromevox_selected:{message:"selected"},chromevox_unselected:{message:"unselected"},chromevox_added_to_selection:{message:"added to selection"},chromevox_removed_from_selection:{message:"removed from selection"},chromevox_then:{message:"then"},chromevox_followed_by:{message:"followed by"},chromevox_modifier_key:{message:"ChromeVox modifier"},chromevox_key_conflict:{message:"$1 is already assigned to a command.", +placeholders:{1:{content:"$1"}}},chromevox_math_expr:{message:"Math"},chromevox_math_expr_brl:{message:"Math"},chromevox_not_inside_math:{message:"Not inside math"},chromevox_timewidget_ampm:{message:"AM PM"},chromevox_timewidget_hours:{message:"hours"},chromevox_timewidget_minutes:{message:"minutes"},chromevox_timewidget_seconds:{message:"seconds"},chromevox_timewidget_milliseconds:{message:"milliseconds"},chromevox_timewidget_am:{message:"AM"},chromevox_timewidget_pm:{message:"PM"},chromevox_datewidget_week:{message:"week"}, +chromevox_datewidget_january:{message:"January"},chromevox_datewidget_february:{message:"February"},chromevox_datewidget_march:{message:"March"},chromevox_datewidget_april:{message:"April"},chromevox_datewidget_may:{message:"May"},chromevox_datewidget_june:{message:"June"},chromevox_datewidget_july:{message:"July"},chromevox_datewidget_august:{message:"August"},chromevox_datewidget_september:{message:"September"},chromevox_datewidget_october:{message:"October"},chromevox_datewidget_november:{message:"November"}, +chromevox_datewidget_december:{message:"December"},chromevox_no_punctuation:{message:"No punctuation"},chromevox_some_punctuation:{message:"Some punctuation"},chromevox_all_punctuation:{message:"All punctuation"},chromevox_search_help_item:{message:"Press enter to accept or escape to cancel, down for next and up for previous."},chromevox_clickable:{message:"clickable"},chromevox_clickable_brl:{message:"clickable"},chromevox_previous_character:{message:"Previous Character"},chromevox_next_character:{message:"Next Character"}, +chromevox_previous_word:{message:"Previous Word"},chromevox_next_word:{message:"Next Word"},chromevox_previous_sentence:{message:"Previous Sentence"},chromevox_next_sentence:{message:"Next Sentence"},chromevox_previous_line:{message:"Previous Line"},chromevox_next_line:{message:"Next Line"},chromevox_previous_object:{message:"Previous Object"},chromevox_next_object:{message:"Next Object"},chromevox_previous_group:{message:"Previous Group"},chromevox_next_group:{message:"Next Group"},chromevox_role_landmark:{message:"Landmark"}, +chromevox_modifier_entry_error:{message:"No modifier pressed; please press and hold one or more modifiers; lift your fingers once done and you will hear the keys set. Tab to exit."},chromevox_modifier_entry_set:{message:"$1 is now the new ChromeVox modifier.",placeholders:{1:{content:"$1"}}},chromevox_keymap_reset:{message:"$1 has been reset.",placeholders:{1:{content:"$1"}}},chromevox_keymap_switch:{message:"Switched to $1.",placeholders:{1:{content:"$1"}}},chromevox_jump_to_top:{message:"Jump to the top of the page"}, +chromevox_jump_to_bottom:{message:"Jump to the bottom of the page"},chromevox_wrapped_to_top:{message:"Wrapped to top"},chromevox_wrapped_to_bottom:{message:"Wrapped to bottom"},chromevox_cycle_punctuation_echo:{message:"Cycle punctuation echo"},chromevox_cycle_typing_echo:{message:"Cycle typing echo"},chromevox_pause_all_media:{message:"Pauses all currently playing media widgets"},chromevox_open_long_desc:{message:"Open long description in a new tab"},chromevox_no_long_desc:{message:"No long description"}, +chromevox_image_with_long_desc:{message:"Image with long description"},chromevox_selected_options_value:{message:"$1 to $2",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_selected_options_value_brl:{message:"$1-$2",placeholders:{1:{content:"$1"},2:{content:"$2"}}},chromevox_selected_options_state:{message:"selected $1 items",placeholders:{1:{content:"$1"}}},chromevox_selected_options_state_brl:{message:"sld $1",placeholders:{1:{content:"$1"}}},chromevox_clear_page_selection:{message:"cleared selection"}, +chromevox_character_echo:{message:"character echo"},chromevox_word_echo:{message:"word echo"},chromevox_character_and_word_echo:{message:"character and word echo"},chromevox_none_echo:{message:"no typing echo"},chromevox_enter_content:{message:"enter structured content, such as tables"},chromevox_exit_content:{message:"exit structured content, such as tables"},chromevox_enter_content_say:{message:"entered $1",placeholders:{1:{content:"$1"}}},chromevox_structural_line:{message:"structural line"},chromevox_layout_line:{message:"line"}, +chromevox_toggle_line_type:{message:"Toggle line type between structural or layout"},chromevox_table_shifter:{message:"table"},chromevox_navigation_shifter:{message:"default navigation"},chromevox_math_shifter:{message:"math"},chromevox_toggle_semantics:{message:"Toggle interpretation of math expressions between structural and semantic"},chromevox_semantics_on:{message:"Semantics on"},chromevox_semantics_off:{message:"Semantics off"},chromevox_phonetic_map:{message:'{"a": "alpha", "b": "bravo", "c": "charlie", "d": "delta", "e": "echo", "f": "foxtrot", "g": "golf", "h": "hotel", "i": "india", "j": "juliet","k": "kilo", "l": "lima", "m": "mike", "n": "november", "o": "oscar","p": "papa", "q": "quebec", "r": "romeo", "s": "sierra", "t": "tango", "u": "uniform", "v": "victor", "w": "whiskey","x": "xray", "y": "yankee", "z": "zulu"}'}, +chromevox_page_has_one_alert_singular:{message:"This page has 1 alert"},chromevox_page_has_alerts_plural:{message:"This page has $1 alerts",placeholders:{1:{content:"$1"}}},chromevox_review_alerts:{message:"Press Alt+Shift+A to review alerts"},chromevox_no_next_article:{message:"No next article."},chromevox_no_previous_article:{message:"No previous article."},chromevox_chromevox_intro:{message:"ChromeVox spoken feedback is ready"},chromevox_intro_brl:{message:"ChromeVox ready"},chromevox_earcons_on:{message:"Earcons on"}, +chromevox_earcons_off:{message:"Earcons off"},chromevox_toggle_earcons:{message:"Turn sound feedback (earcons) on or off."},chromevox_speak_time_and_date:{message:"Speak the current time and date."},chromevox_mark_as_search_result_brl:{message:"S:$1",placeholders:{1:{content:"$1"}}},chromevox_text_deleted:{message:"Deleted"},chromevox_perform_default_action:{message:"Perform default action"},chromevox_visited_url:{message:"visited"},chromevox_visited_url_brl:{message:"visited"},chromevox_exclamation:{message:"{COUNT, plural, =1 {exclamation point}other {# exclamation points}}"}, +chromevox_space:{message:"{COUNT, plural, =1 {space}other {# spaces}}"},chromevox_backtick:{message:"{COUNT, plural, =1 {backtick}other {# backticks}}"},chromevox_tilde:{message:"{COUNT, plural, =1 {TILDE}other {# tildes}}"},chromevox_at:{message:"{COUNT, plural, =1 {at}other {# at signs}}"},chromevox_pound:{message:"{COUNT, plural, =1 {pound}other {# pound signs}}"},chromevox_dollar:{message:"{COUNT, plural, =1 {dollar}other {# dollar signs}}"},chromevox_percent:{message:"{COUNT, plural, =1 {percent}other {# percent signs}}"}, +chromevox_caret:{message:"{COUNT, plural, =1 {caret}other {# carets}}"},chromevox_ampersand:{message:"{COUNT, plural, =1 {ampersand}other {# ampersands}}"},chromevox_asterisk:{message:"{COUNT, plural, =1 {asterisk}other {# asterisks}}"},chromevox_open_paren:{message:"{COUNT, plural, =1 {open paren}other {# open parens}}"},chromevox_close_paren:{message:"{COUNT, plural, =1 {close paren}other {# close parens}}"},chromevox_dash:{message:"{COUNT, plural, =1 {dash}other {# dashes}}"},chromevox_underscore:{message:"{COUNT, plural, =1 {underscore}other {# underscores}}"}, +chromevox_equals:{message:"{COUNT, plural, =1 {equal}other {# equal signs}}"},chromevox_plus:{message:"{COUNT, plural, =1 {plus}other {# plus signs}}"},chromevox_left_bracket:{message:"{COUNT, plural, =1 {left bracket}other {# left brackets}}"},chromevox_right_bracket:{message:"{COUNT, plural, =1 {right bracket}other {# right brackets}}"},chromevox_left_brace:{message:"{COUNT, plural, =1 {left brace}other {# left braces}}"},chromevox_right_brace:{message:"{COUNT, plural, =1 {right brace}other {# right braces}}"}, +chromevox_pipe:{message:"{COUNT, plural, =1 {pipe}other {# vertical pipes}}"},chromevox_semicolon:{message:"{COUNT, plural, =1 {semicolon}other {# semicolons}}"},chromevox_colon:{message:"{COUNT, plural, =1 {colon}other {# colons}}"},chromevox_comma:{message:"{COUNT, plural, =1 {comma}other {# commas}}"},chromevox_dot:{message:"{COUNT, plural, =1 {dot}=3 {ellipsis}other {# dots}}"},chromevox_less_than:{message:"{COUNT, plural, =1 {less than}other {# less than signs}}"},chromevox_greater_than:{message:"{COUNT, plural, =1 {greater than}other {# greater than signs}}"}, +chromevox_slash:{message:"{COUNT, plural, =1 {slash}other {# slashes}}"},chromevox_question_mark:{message:"{COUNT, plural, =1 {question mark}other {# question marks}}"},chromevox_quote:{message:"{COUNT, plural, =1 {quote}other {# quotes}}"},chromevox_apostrophe:{message:"{COUNT, plural, =1 {apostrophe}other {# apostrophes}}"},chromevox_tab:{message:"{COUNT, plural, =1 {tab}other {# tabs}}"},chromevox_backslash:{message:"{COUNT, plural, =1 {backslash}other {# backslashes}}"},chromevox_braille_routing:{message:"Click the item under a routing key"}, +chromevox_braille_pan_left:{message:"Pan backward"},chromevox_braille_pan_right:{message:"Pan bforward"},chromevox_braille_line_up:{message:"Braille previous Line"},chromevox_braille_line_down:{message:"Braille next Line"},chromevox_braille_top:{message:"Move braille display to top of page"},chromevox_braille_bottom:{message:"Move braille display to bottom of page"},chromevox_access_key:{message:"has access key, $1",placeholders:{1:{content:"$1"}}},chromevox_locale_dict:{message:'{"ar": "Arabic","bg": "Bulgarian","ca": "Catalan","hr": "Croatian","cs": "Czech","da": "Danish","nl": "Dutch","en_CA": "English (Canada)","en_GB": "English (United Kingdom)","en_US": "English (United States)","et": "Estonian","fr": "French","fr_CA": "French (Canada)","fr_FR": "French (France)","fi": "Finnish","de": "German","de_CH": "German (Switzerland)","de_DE": "German (Germany)","el": "Greek","hi": "Hindi","hu": "Hungarian","is": "Icelandic","it": "Italian","lv": "Latvian","lt": "Lithuanian","nb": "Norwegian Bokm\u00e5l","pl": "Polish","pt": "Portuguese","ro": "Romanian","ru": "Russian","sr": "Serbian","sk": "Slovak","sl": "Slovenian","es": "Spanish","sv": "Swedish","tr": "Turkish","vi": "Vietnamese","zh": "Chinese","zh_TW": "Chinese (Traditional Han)"}'}};cvox.TestMsgs=function(){};goog.inherits(cvox.TestMsgs,cvox.AbstractMsgs);cvox.TestMsgs.prototype.getMsg=function(a,b){if(!a){var c=Error();c.message="Message id required";throw c;}c=cvox.TestMessages["chromevox_"+a];if(void 0==c)throw c=Error(),c.message="missing-msg: "+a,c;var d=c.message;if(b)for(var e=0;e<b.length;e++){var f=c.placeholders[e+1];if(!f)throw c=Error(),c.message="Bad placeholder "+e+" for message id "+a,c;f=c.placeholders[e+1].content;d=d.replace(f,b[e])}return d}; +cvox.TestMsgs.prototype.getNumber=function(a){return""+a};cvox.HostFactory.msgsConstructor=cvox.TestMsgs;cvox.ChromeVox.initDocument(); diff --git a/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/mobile-accessibility.js b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/mobile-accessibility.js new file mode 100644 index 00000000..4800c0c3 --- /dev/null +++ b/StoneIsland/plugins/phonegap-plugin-mobile-accessibility/www/mobile-accessibility.js @@ -0,0 +1,499 @@ +/** + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var argscheck = require('cordova/argscheck'), + utils = require('cordova/utils'), + exec = require('cordova/exec'), + device = require('cordova-plugin-device.device'), + network = require('cordova-plugin-network-information.network'), + connection = require('cordova-plugin-network-information.Connection'), + MobileAccessibilityNotifications = require('phonegap-plugin-mobile-accessibility.MobileAccessibilityNotifications'); + +var MobileAccessibility = function() { + this._isBoldTextEnabled = false; + this._isClosedCaptioningEnabled = false; + this._isDarkerSystemColorsEnabled = false; + this._isGrayscaleEnabled = false; + this._isGuidedAccessEnabled = false; + this._isInvertColorsEnabled = false; + this._isMonoAudioEnabled = false; + this._isReduceMotionEnabled = false; + this._isReduceTransparencyEnabled = false; + this._isScreenReaderRunning = false; + this._isSpeakScreenEnabled = false; + this._isSpeakSelectionEnabled = false; + this._isSwitchControlRunning = false; + this._isTouchExplorationEnabled = false; + this._usePreferredTextZoom = false; + this._isHighContrastEnabled = false; + this._highContrastScheme = undefined; + + // Create new event handlers on the window (returns a channel instance) + this.channels = { + boldtextstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.BOLD_TEXT_STATUS_CHANGED), + closedcaptioningstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.CLOSED_CAPTIONING_STATUS_CHANGED), + darkersystemcolorsstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.DARKER_SYSTEM_COLORS_STATUS_CHANGED), + grayscalestatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.GRAYSCALE_STATUS_CHANGED), + guidedaccessstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.GUIDED_ACCESS_STATUS_CHANGED), + invertcolorsstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.INVERT_COLORS_STATUS_CHANGED), + monoaudiostatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.MONO_AUDIO_STATUS_CHANGED), + reducemotionstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.REDUCE_MOTION_STATUS_CHANGED), + reducetransparencystatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.REDUCE_TRANSPARENCY_STATUS_CHANGED), + screenreaderstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.SCREEN_READER_STATUS_CHANGED), + speakscreenstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.SPEAK_SCREEN_STATUS_CHANGED), + speakselectionstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.SPEAK_SELECTION_STATUS_CHANGED), + switchcontrolstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.SWITCH_CONTROL_STATUS_CHANGED), + touchexplorationstatechanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.TOUCH_EXPLORATION_STATUS_CHANGED), + highcontrastchanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.HIGH_CONTRAST_CHANGED) + }; + for (var key in this.channels) { + this.channels[key].onHasSubscribersChange = MobileAccessibility.onHasSubscribersChange; + } +}; + +/** + * @private + * @ignore + */ +function handlers() { + return mobileAccessibility.channels.boldtextstatuschanged.numHandlers + + mobileAccessibility.channels.closedcaptioningstatuschanged.numHandlers + + mobileAccessibility.channels.darkersystemcolorsstatuschanged.numHandlers + + mobileAccessibility.channels.grayscalestatuschanged.numHandlers + + mobileAccessibility.channels.guidedaccessstatuschanged.numHandlers + + mobileAccessibility.channels.invertcolorsstatuschanged.numHandlers + + mobileAccessibility.channels.monoaudiostatuschanged.numHandlers + + mobileAccessibility.channels.reducemotionstatuschanged.numHandlers + + mobileAccessibility.channels.reducetransparencystatuschanged.numHandlers + + mobileAccessibility.channels.screenreaderstatuschanged.numHandlers + + mobileAccessibility.channels.speakscreenstatuschanged.numHandlers + + mobileAccessibility.channels.speakselectionstatuschanged.numHandlers + + mobileAccessibility.channels.switchcontrolstatuschanged.numHandlers + + mobileAccessibility.channels.touchexplorationstatechanged.numHandlers + + mobileAccessibility.channels.highcontrastchanged.numHandlers; +}; + +/** + * + * Event handlers for when callback methods get registered for mobileAccessibility. + * Keep track of how many handlers we have so we can start and stop the native MobileAccessibility listener + * appropriately. + * @private + * @ignore + */ +MobileAccessibility.onHasSubscribersChange = function() { + // If we just registered the first handler, make sure native listener is started. + if (this.numHandlers === 1 && handlers() === 1) { + exec(mobileAccessibility._status, mobileAccessibility._error, "MobileAccessibility", "start", []); + } else if (handlers() === 0) { + exec(null, null, "MobileAccessibility", "stop", []); + } +}; + +/** + * Asynchronous call to native MobileAccessibility determine if a screen reader is running. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isScreenReaderRunning = function(callback) { + exec(function(bool) { + mobileAccessibility.activateOrDeactivateChromeVox(bool); + callback(Boolean(bool)); + }, null, "MobileAccessibility", "isScreenReaderRunning", []); +}; +MobileAccessibility.prototype.isVoiceOverRunning = function(callback) { + if (device.platform.toLowerCase() === "ios") { + MobileAccessibility.prototype.isScreenReaderRunning(callback); + } else { + callback(false); + } +}; +MobileAccessibility.prototype.isTalkBackRunning = function(callback) { + if (device.platform.toLowerCase() === "android" || device.platform.toLowerCase() === "amazon-fireos") { + MobileAccessibility.prototype.isScreenReaderRunning(callback); + } else { + callback(false); + } +}; +MobileAccessibility.prototype.isChromeVoxActive = function () { + return typeof cvox !== "undefined" && cvox.ChromeVox.host.ttsLoaded() && cvox.Api.isChromeVoxActive(); +}; +MobileAccessibility.prototype.activateOrDeactivateChromeVox = function(bool) { + if (device.platform !== "Android") return; + if (typeof cvox === "undefined") { + if (bool) { + console.warn('A screen reader is running but ChromeVox has failed to initialize.'); + if (navigator.connection.type === Connection.UNKNOWN || navigator.connection.type === Connection.NONE) { + mobileAccessibility.injectLocalAndroidVoxScript(); + } + } + } else { + // activate or deactivate ChromeVox based on whether or not or not the screen reader is running. + try { + cvox.ChromeVox.host.activateOrDeactivateChromeVox(bool); + } catch (err) { + console.error(err); + } + } + + if (bool) { + if (!mobileAccessibility.hasOrientationChangeListener) { + window.addEventListener("orientationchange", mobileAccessibility.onOrientationChange); + mobileAccessibility.hasOrientationChangeListener = true; + } + } else if(mobileAccessibility.hasOrientationChangeListener) { + window.removeEventListener("orientationchange", mobileAccessibility.onOrientationChange); + mobileAccessibility.hasOrientationChangeListener = false; + } +}; + +MobileAccessibility.prototype.hasOrientationChangeListener = false; +MobileAccessibility.prototype.onOrientationChange = function(event) { + if (!mobileAccessibility.isChromeVoxActive()) return; + cvox.ChromeVox.navigationManager.updateIndicator(); +}; + +MobileAccessibility.prototype.scriptInjected = false; +MobileAccessibility.prototype.injectLocalAndroidVoxScript = function() { + var versionsplit = device.version.split('.'); + if (device.platform !== "Android" || + !(versionsplit[0] > 4 || (versionsplit[0] == 4 && versionsplit[1] >= 1)) || + typeof cvox !== "undefined" || mobileAccessibility.scriptInjected) return; + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.async = true; + script.onload = function(){ + // console.log(this.src + ' has loaded'); + if (mobileAccessibility.isChromeVoxActive()) { + cordova.fireWindowEvent("screenreaderstatuschanged", { + isScreenReaderRunning: true + }); + } + }; + + script.src = (versionsplit[0] > 4 || versionsplit[1] > 3) + ? "plugins/com.phonegap.plugin.mobile-accessibility/android/chromeandroidvox.js" + : "plugins/com.phonegap.plugin.mobile-accessibility/android/AndroidVox_v1.js"; + document.getElementsByTagName('head')[0].appendChild(script); + mobileAccessibility.scriptInjected = true; +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Bold Text is enabled. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isBoldTextEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isBoldTextEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Closed Captioning is enabled. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isClosedCaptioningEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isClosedCaptioningEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Darker System Colors are enabled. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isDarkerSystemColorsEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isDarkerSystemColorsEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Grayscale is enabled. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isGrayscaleEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isGrayscaleEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Guided Access is enabled. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isGuidedAccessEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isGuidedAccessEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if the display colors have been inverted. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isInvertColorsEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isInvertColorsEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Mono Audio is enabled. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isMonoAudioEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isMonoAudioEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Reduce Motion is enabled. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isReduceMotionEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isReduceMotionEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Reduce Transparency is enabled. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isReduceTransparencyEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isReduceTransparencyEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Speak Screen is enabled. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isSpeakScreenEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isSpeakScreenEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Speak Selection is enabled. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isSpeakSelectionEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isSpeakSelectionEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Switch Control is running. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isSwitchControlRunning = function(callback) { + exec(callback, null, "MobileAccessibility", "isSwitchControlRunning", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if Touch Exploration is enabled on Android. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isTouchExplorationEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isTouchExplorationEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to determine if High Contrast is enabled on Windows. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.isHighContrastEnabled = function(callback) { + exec(callback, null, "MobileAccessibility", "isHighContrastEnabled", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to return the current text zoom percent value for the WebView. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.getTextZoom = function(callback) { + exec(callback, null, "MobileAccessibility", "getTextZoom", []); +}; + +/** + * Asynchronous call to native MobileAccessibility to set the current text zoom percent value for the WebView. + * @param {Number} textZoom A percentage value by which text in the WebView should be scaled. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.setTextZoom = function(textZoom, callback) { + exec(callback, null, "MobileAccessibility", "setTextZoom", [textZoom]); +}; + +/** + * Asynchronous call to native MobileAccessibility to retrieve the user's preferred text zoom from system settings and apply it to the application WebView. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility. + */ +MobileAccessibility.prototype.updateTextZoom = function(callback) { + exec(callback, null, "MobileAccessibility", "updateTextZoom", []); +}; + +MobileAccessibility.prototype.usePreferredTextZoom = function(bool) { + var currentValue = window.localStorage.getItem("MobileAccessibility.usePreferredTextZoom") === "true"; + + if (arguments.length === 0) { + return currentValue; + } + + if (currentValue != bool) { + window.localStorage.setItem("MobileAccessibility.usePreferredTextZoom", bool); + } + + var callback = function(){ + // Wrapping updateTextZoom call in a function to stop + // the event parameter propagation. This fixes an error + // on resume where cordova tried to call apply() on the + // event, expecting a function. + mobileAccessibility.updateTextZoom(); + }; + + document.removeEventListener("resume", callback); + + if (bool) { + // console.log("We should update the text zoom at this point: " + bool) + document.addEventListener("resume", callback, false); + mobileAccessibility.updateTextZoom(); + } else { + mobileAccessibility.setTextZoom(100); + } + + return Boolean(bool); +}; + +MobileAccessibility.prototype.MobileAccessibilityNotifications = MobileAccessibilityNotifications; + +/** + * Posts a notification with a string for a screen reader to announce, if it is running. + * @param {uint} mobileAccessibilityNotification A numeric constant for the type of notification to send. Constants are defined in MobileAccessibility.MobileAccessibilityNotifications. + * @param {string} string A string to be announced by a screen reader. + * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility, when the announcement is finished, the function should expect an object containing the stringValue that was voiced and a boolean indicating that the announcement wasSuccessful. + */ +MobileAccessibility.prototype.postNotification = function(mobileAccessibilityNotification, string, callback) { + exec(callback, null, "MobileAccessibility", "postNotification", [mobileAccessibilityNotification, string]); +}; + +/** + * Speaks the given string, and if ChromeVox is active, it will use the specified queueMode and properties. + * @param {string} string A string to be announced by a screen reader. + * @param {number} [queueMode] Optional number. Valid modes are 0 for flush; 1 for queue. + * @param {Object} [properties] Speech properties to use for this utterance. + */ +MobileAccessibility.prototype.speak = function(string, queueMode, properties) { + if (this.isChromeVoxActive()) { + cvox.ChromeVox.tts.speak(string, queueMode, properties); + } else { + exec(null, null, "MobileAccessibility", "postNotification", [MobileAccessibilityNotifications.ANNOUNCEMENT, string]); + } +} + +/** + * Stops speech. + */ +MobileAccessibility.prototype.stop = function() { + if (this.isChromeVoxActive()) { + cvox.ChromeVox.tts.stop(); + } else { + exec(null, null, "MobileAccessibility", "postNotification", [MobileAccessibilityNotifications.ANNOUNCEMENT, "\u200b"]); + } +} + +/** + * Callback from native MobileAccessibility returning an object which describes the status of MobileAccessibility features. + * + * @param {Object} info + * @config {Boolean} [isBoldTextEnabled] Boolean to indicate bold text status (ios). + * @config {Boolean} [isClosedCaptioningEnabled] Boolean to indicate closed captioning status. + * @config {Boolean} [isDarkerSystemColorsEnabled] Boolean to indicate darker system colors status (ios). + * @config {Boolean} [isGrayscaleEnabled] Boolean to indicate grayscale status (ios). + * @config {Boolean} [isGuidedAccessEnabled] Boolean to indicate guided access status (ios). + * @config {Boolean} [isInvertColorsEnabled] Boolean to indicate invert colors status (ios). + * @config {Boolean} [isMonoAudioEnabled] Boolean to indicate mono audio status (ios). + * @config {Boolean} [isReduceMotionEnabled] Boolean to indicate reduce motion status (ios). + * @config {Boolean} [isReduceTransparencyEnabled] Boolean to indicate reduce transparency status (ios). + * @config {Boolean} [isScreenReaderRunning] Boolean to indicate screen reader status. + * @config {Boolean} [isSpeakScreenEnabled] Boolean to indicate speak screen status (ios). + * @config {Boolean} [isSpeakSelectionEnabled] Boolean to indicate speak selection status (ios). + * @config {Boolean} [isSwitchControlRunning] Boolean to indicate switch control status (ios). + * @config {Boolean} [isTouchExplorationEnabled] Boolean to indicate touch exploration status (android). + */ +MobileAccessibility.prototype._status = function(info) { + if (info) { + mobileAccessibility.activateOrDeactivateChromeVox(info.isScreenReaderRunning); + if (mobileAccessibility._isBoldTextEnabled !== info.isBoldTextEnabled) { + mobileAccessibility._isBoldTextEnabled = info.isBoldTextEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.BOLD_TEXT_STATUS_CHANGED, info); + } + if (mobileAccessibility._isClosedCaptioningEnabled !== info.isClosedCaptioningEnabled) { + mobileAccessibility._isClosedCaptioningEnabled = info.isClosedCaptioningEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.CLOSED_CAPTIONING_STATUS_CHANGED, info); + } + if (mobileAccessibility._isDarkerSystemColorsEnabled !== info.isDarkerSystemColorsEnabled) { + mobileAccessibility._isDarkerSystemColorsEnabled = info.isDarkerSystemColorsEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.DARKER_SYSTEM_COLORS_STATUS_CHANGED, info); + } + if (mobileAccessibility._isGrayscaleEnabled !== info.isGrayscaleEnabled) { + mobileAccessibility._isGrayscaleEnabled = info.isGrayscaleEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.GRAYSCALE_STATUS_CHANGED, info); + } + if (mobileAccessibility._isGuidedAccessEnabled !== info.isGuidedAccessEnabled) { + mobileAccessibility._isGuidedAccessEnabled = info.isGuidedAccessEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.GUIDED_ACCESS_STATUS_CHANGED, info); + } + if (mobileAccessibility._isInvertColorsEnabled !== info.isInvertColorsEnabled) { + mobileAccessibility._isInvertColorsEnabled = info.isInvertColorsEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.INVERT_COLORS_STATUS_CHANGED, info); + } + if (mobileAccessibility._isMonoAudioEnabled !== info.isMonoAudioEnabled) { + mobileAccessibility._isMonoAudioEnabled = info.isMonoAudioEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.MONO_AUDIO_STATUS_CHANGED, info); + } + if (mobileAccessibility._isReduceMotionEnabled !== info.isReduceMotionEnabled) { + mobileAccessibility._isReduceMotionEnabled = info.isReduceMotionEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.REDUCE_MOTION_STATUS_CHANGED, info); + } + if (mobileAccessibility._isReduceTransparencyEnabled !== info.isReduceTransparencyEnabled) { + mobileAccessibility._isReduceTransparencyEnabled = info.isReduceTransparencyEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.REDUCE_TRANSPARENCY_STATUS_CHANGED, info); + } + if (mobileAccessibility._isScreenReaderRunning !== info.isScreenReaderRunning) { + mobileAccessibility._isScreenReaderRunning = info.isScreenReaderRunning; + cordova.fireWindowEvent(MobileAccessibilityNotifications.SCREEN_READER_STATUS_CHANGED, info); + } + if (mobileAccessibility._isSpeakScreenEnabled !== info.isSpeakScreenEnabled) { + mobileAccessibility._isSpeakScreenEnabled = info.isSpeakScreenEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.SPEAK_SCREEN_STATUS_CHANGED, info); + } + if (mobileAccessibility._isSpeakSelectionEnabled !== info.isSpeakSelectionEnabled) { + mobileAccessibility._isSpeakSelectionEnabled = info.isSpeakSelectionEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.SPEAK_SELECTION_STATUS_CHANGED, info); + } + if (mobileAccessibility._isSwitchControlRunning !== info.isSwitchControlRunning) { + mobileAccessibility._isSwitchControlRunning = info.isSwitchControlRunning; + cordova.fireWindowEvent(MobileAccessibilityNotifications.SWITCH_CONTROL_STATUS_CHANGED, info); + } + if (mobileAccessibility._isTouchExplorationEnabled !== info.isTouchExplorationEnabled) { + mobileAccessibility._isTouchExplorationEnabled = info.isTouchExplorationEnabled; + cordova.fireWindowEvent(MobileAccessibilityNotifications.TOUCH_EXPLORATION_STATUS_CHANGED, info); + } + if (mobileAccessibility._isHighContrastEnabled !== info.isHighContrastEnabled) { + mobileAccessibility._isHighContrastEnabled = info.isHighContrastEnabled; + mobileAccessibility._highContrastScheme = info.highContrastScheme; + cordova.fireWindowEvent(MobileAccessibilityNotifications.HIGH_CONTRAST_CHANGED, info); + } + } +}; + +/** + * Error callback for MobileAccessibility start + */ +MobileAccessibility.prototype._error = function(e) { + console.log("Error initializing MobileAccessibility: " + e); +}; + +var mobileAccessibility = new MobileAccessibility(); + +module.exports = mobileAccessibility; |
